<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Exchange API v1</title>
<link href="../../images/favicon-af251bb2.png" rel="icon" type="image/png" />
<style>
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight .gh {
color: #999999;
}
.highlight .sr {
color: #f6aa11;
}
.highlight .go {
color: #888888;
}
.highlight .gp {
color: #555555;
}
.highlight .gs {
}
.highlight .gu {
color: #aaaaaa;
}
.highlight .nb {
color: #f6aa11;
}
.highlight .cm {
color: #75715e;
}
.highlight .cp {
color: #75715e;
}
.highlight .c1 {
color: #75715e;
}
.highlight .cs {
color: #75715e;
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf {
color: #75715e;
}
.highlight .err {
color: #960050;
}
.highlight .gr {
color: #960050;
}
.highlight .gt {
color: #960050;
}
.highlight .gd {
color: #49483e;
}
.highlight .gi {
color: #49483e;
}
.highlight .ge {
color: #49483e;
}
.highlight .kc {
color: #66d9ef;
}
.highlight .kd {
color: #66d9ef;
}
.highlight .kr {
color: #66d9ef;
}
.highlight .no {
color: #66d9ef;
}
.highlight .kt {
color: #66d9ef;
}
.highlight .mf {
color: #ae81ff;
}
.highlight .mh {
color: #ae81ff;
}
.highlight .il {
color: #ae81ff;
}
.highlight .mi {
color: #ae81ff;
}
.highlight .mo {
color: #ae81ff;
}
.highlight .m, .highlight .mb, .highlight .mx {
color: #ae81ff;
}
.highlight .sc {
color: #ae81ff;
}
.highlight .se {
color: #ae81ff;
}
.highlight .ss {
color: #ae81ff;
}
.highlight .sd {
color: #e6db74;
}
.highlight .s2 {
color: #e6db74;
}
.highlight .sb {
color: #e6db74;
}
.highlight .sh {
color: #e6db74;
}
.highlight .si {
color: #e6db74;
}
.highlight .sx {
color: #e6db74;
}
.highlight .s1 {
color: #e6db74;
}
.highlight .s, .highlight .sa, .highlight .dl {
color: #e6db74;
}
.highlight .na {
color: #a6e22e;
}
.highlight .nc {
color: #a6e22e;
}
.highlight .nd {
color: #a6e22e;
}
.highlight .ne {
color: #a6e22e;
}
.highlight .nf, .highlight .fm {
color: #a6e22e;
}
.highlight .vc {
color: #ffffff;
background-color: #272822;
}
.highlight .nn {
color: #ffffff;
background-color: #272822;
}
.highlight .nl {
color: #ffffff;
background-color: #272822;
}
.highlight .ni {
color: #ffffff;
background-color: #272822;
}
.highlight .bp {
color: #ffffff;
background-color: #272822;
}
.highlight .vg {
color: #ffffff;
background-color: #272822;
}
.highlight .vi {
color: #ffffff;
background-color: #272822;
}
.highlight .nv, .highlight .vm {
color: #ffffff;
background-color: #272822;
}
.highlight .w {
color: #ffffff;
background-color: #272822;
}
.highlight {
color: #ffffff;
background-color: #272822;
}
.highlight .n, .highlight .py, .highlight .nx {
color: #ffffff;
background-color: #272822;
}
.highlight .ow {
color: #f92672;
}
.highlight .nt {
color: #f92672;
}
.highlight .k, .highlight .kv {
color: #f92672;
}
.highlight .kn {
color: #f92672;
}
.highlight .kp {
color: #f92672;
}
.highlight .o {
color: #f92672;
}
</style>
<link href="../../stylesheets/screen-45e9a6d7.css" rel="stylesheet" media="screen" />
<link href="../../stylesheets/print-bccf8c07.css" rel="stylesheet" media="print" />
<script src="../../javascripts/all-c5541673.js"></script>
</head>

<body class="v1 v1_rest-ws v1_rest-ws_index" data-languages="[&quot;javascript&quot;,&quot;python&quot;,&quot;csharp&quot;,&quot;java&quot;]">
<a href="#" id="nav-button">
<span>
NAV
<img src="../../images/navbar-cad8cdcb.png" alt="Navbar" />
</span>
</a>
<div class="toc-wrapper">
<img src="../../images/logo-0ffe06ef.png" class="logo" alt="Logo" />
<div style="text-align:center; color: white; margin-top:10px; font-size:1.3em; font-weight: 550;">
Exchange API v1
<br/>
<ul class="toc-footer1">
<li style="display: inline"><nobr><a href='#introduction'>REST</a></nobr></li>
<li style="display: inline; color: #49483e"> | </li>
<li style="display: inline"><nobr><a href='#websocket-subscriptions'>WebSocket</a></nobr></li>
<li style="display: inline; color: #49483e"> | </li>
<li style="display: inline"><nobr><a href='https://crypto.com/product-news/fixapi'>FIX 4.4</a></nobr></li>
<li style="display: inline; color: #49483e"> | </li>
<li style="display: inline"><nobr><a href='#generating-the-api-key'>Create API Key</a></nobr></li>
</ul>
</div>
<br/>
<div class="lang-selector">
<a href="#" data-language-name="javascript">javascript</a>
<a href="#" data-language-name="python">python</a>
<a href="#" data-language-name="csharp">c#</a>
<a href="#" data-language-name="java">java</a>
</div>
<div class="search">
<input type="text" class="search" id="input-search" placeholder="Search">
</div>
<ul class="search-results"></ul>
<ul id="toc" class="toc-list-h1">
<li>
<a href="#introduction" class="toc-h1 toc-link" data-title="Introduction">Introduction</a>
<ul class="toc-list-h2">
<li>
<a href="#welcome" class="toc-h2 toc-link" data-title="Welcome">Welcome</a>
</li>
<li>
<a href="#breaking-change-schedule" class="toc-h2 toc-link" data-title="Breaking Change Schedule">Breaking Change Schedule</a>
</li>
<li>
<a href="#change-logs" class="toc-h2 toc-link" data-title="Change Logs">Change Logs</a>
</li>
</ul>
</li>
<li>
<a href="#common-api-reference" class="toc-h1 toc-link" data-title="Common API Reference">Common API Reference</a>
<ul class="toc-list-h2">
<li>
<a href="#naming-conventions" class="toc-h2 toc-link" data-title="Naming Conventions">Naming Conventions</a>
</li>
<li>
<a href="#generating-the-api-key" class="toc-h2 toc-link" data-title="Generating the API Key">Generating the API Key</a>
</li>
<li>
<a href="#rest-api-root-endpoint" class="toc-h2 toc-link" data-title="REST API Root Endpoint">REST API Root Endpoint</a>
</li>
<li>
<a href="#websocket-root-endpoints" class="toc-h2 toc-link" data-title="Websocket Root Endpoints">Websocket Root Endpoints</a>
</li>
<li>
<a href="#rate-limits" class="toc-h2 toc-link" data-title="Rate Limits">Rate Limits</a>
</li>
<li>
<a href="#open-order-limit" class="toc-h2 toc-link" data-title="Open Order Limit">Open Order Limit</a>
</li>
<li>
<a href="#request-format" class="toc-h2 toc-link" data-title="Request Format">Request Format</a>
</li>
<li>
<a href="#digital-signature" class="toc-h2 toc-link" data-title="Digital Signature">Digital Signature</a>
</li>
<li>
<a href="#request-format-2" class="toc-h2 toc-link" data-title="Request Format">Request Format</a>
</li>
<li>
<a href="#response-format" class="toc-h2 toc-link" data-title="Response Format">Response Format</a>
</li>
<li>
<a href="#response-and-reason-codes" class="toc-h2 toc-link" data-title="Response and Reason Codes">Response and Reason Codes</a>
</li>
<li>
<a href="#websocket-termination-codes" class="toc-h2 toc-link" data-title="Websocket Termination Codes">Websocket Termination Codes</a>
</li>
<li>
<a href="#error-response-format" class="toc-h2 toc-link" data-title="Error Response Format">Error Response Format</a>
</li>
</ul>
</li>
<li>
<a href="#reference-and-market-data-api" class="toc-h1 toc-link" data-title="Reference and Market Data API">Reference and Market Data API</a>
<ul class="toc-list-h2">
<li>
<a href="#public-get-announcements" class="toc-h2 toc-link" data-title="public/get-announcements">public/get-announcements</a>
</li>
<li>
<a href="#public-get-risk-parameters" class="toc-h2 toc-link" data-title="public/get-risk-parameters">public/get-risk-parameters</a>
</li>
<li>
<a href="#public-get-instruments" class="toc-h2 toc-link" data-title="public/get-instruments">public/get-instruments</a>
</li>
<li>
<a href="#public-get-book" class="toc-h2 toc-link" data-title="public/get-book">public/get-book</a>
</li>
<li>
<a href="#public-get-candlestick" class="toc-h2 toc-link" data-title="public/get-candlestick">public/get-candlestick</a>
</li>
<li>
<a href="#public-get-trades" class="toc-h2 toc-link" data-title="public/get-trades">public/get-trades</a>
</li>
<li>
<a href="#public-get-tickers" class="toc-h2 toc-link" data-title="public/get-tickers">public/get-tickers</a>
</li>
<li>
<a href="#public-get-valuations" class="toc-h2 toc-link" data-title="public/get-valuations">public/get-valuations</a>
</li>
<li>
<a href="#public-get-expired-settlement-price" class="toc-h2 toc-link" data-title="public/get-expired-settlement-price">public/get-expired-settlement-price</a>
</li>
<li>
<a href="#public-get-insurance" class="toc-h2 toc-link" data-title="public/get-insurance">public/get-insurance</a>
</li>
</ul>
</li>
<li>
<a href="#account-balance-and-position-api" class="toc-h1 toc-link" data-title="Account Balance and Position API">Account Balance and Position API</a>
<ul class="toc-list-h2">
<li>
<a href="#private-user-balance" class="toc-h2 toc-link" data-title="private/user-balance">private/user-balance</a>
</li>
<li>
<a href="#private-user-balance-history" class="toc-h2 toc-link" data-title="private/user-balance-history">private/user-balance-history</a>
</li>
<li>
<a href="#private-get-accounts" class="toc-h2 toc-link" data-title="private/get-accounts">private/get-accounts</a>
</li>
<li>
<a href="#private-create-subaccount-transfer" class="toc-h2 toc-link" data-title="private/create-subaccount-transfer">private/create-subaccount-transfer</a>
</li>
<li>
<a href="#private-get-subaccount-balances" class="toc-h2 toc-link" data-title="private/get-subaccount-balances">private/get-subaccount-balances</a>
</li>
<li>
<a href="#private-get-positions" class="toc-h2 toc-link" data-title="private/get-positions">private/get-positions</a>
</li>
</ul>
</li>
<li>
<a href="#trading-api" class="toc-h1 toc-link" data-title="Trading API">Trading API</a>
<ul class="toc-list-h2">
<li>
<a href="#introduction-2" class="toc-h2 toc-link" data-title="Introduction">Introduction</a>
</li>
<li>
<a href="#private-create-order" class="toc-h2 toc-link" data-title="private/create-order">private/create-order</a>
</li>
<li>
<a href="#private-amend-order" class="toc-h2 toc-link" data-title="private/amend-order">private/amend-order</a>
</li>
<li>
<a href="#private-cancel-order" class="toc-h2 toc-link" data-title="private/cancel-order">private/cancel-order</a>
</li>
<li>
<a href="#private-cancel-all-orders" class="toc-h2 toc-link" data-title="private/cancel-all-orders">private/cancel-all-orders</a>
</li>
<li>
<a href="#private-close-position" class="toc-h2 toc-link" data-title="private/close-position">private/close-position</a>
</li>
<li>
<a href="#private-get-open-orders" class="toc-h2 toc-link" data-title="private/get-open-orders">private/get-open-orders</a>
</li>
<li>
<a href="#private-get-order-detail" class="toc-h2 toc-link" data-title="private/get-order-detail">private/get-order-detail</a>
</li>
<li>
<a href="#private-change-account-leverage" class="toc-h2 toc-link" data-title="private/change-account-leverage">private/change-account-leverage</a>
</li>
<li>
<a href="#private-change-account-settings" class="toc-h2 toc-link" data-title="private/change-account-settings">private/change-account-settings</a>
</li>
<li>
<a href="#private-get-account-settings" class="toc-h2 toc-link" data-title="private/get-account-settings">private/get-account-settings</a>
</li>
<li>
<a href="#private-get-fee-rate" class="toc-h2 toc-link" data-title="private/get-fee-rate">private/get-fee-rate</a>
</li>
<li>
<a href="#private-get-instrument-fee-rate" class="toc-h2 toc-link" data-title="private/get-instrument-fee-rate">private/get-instrument-fee-rate</a>
</li>
</ul>
</li>
<li>
<a href="#advanced-order-management-api" class="toc-h1 toc-link" data-title="Advanced Order Management API">Advanced Order Management API</a>
<ul class="toc-list-h2">
<li>
<a href="#private-create-order-conditional-order" class="toc-h2 toc-link" data-title="private/create-order (Conditional Order)">private/create-order (Conditional Order)</a>
</li>
<li>
<a href="#private-create-order-list-list" class="toc-h2 toc-link" data-title="private/create-order-list (LIST)">private/create-order-list (LIST)</a>
</li>
<li>
<a href="#private-cancel-order-list-list" class="toc-h2 toc-link" data-title="private/cancel-order-list (LIST)">private/cancel-order-list (LIST)</a>
</li>
<li>
<a href="#private-create-order-list-oco" class="toc-h2 toc-link" data-title="private/create-order-list (OCO)">private/create-order-list (OCO)</a>
</li>
<li>
<a href="#private-cancel-order-list-oco" class="toc-h2 toc-link" data-title="private/cancel-order-list (OCO)">private/cancel-order-list (OCO)</a>
</li>
<li>
<a href="#private-get-order-list-oco" class="toc-h2 toc-link" data-title="private/get-order-list (OCO)">private/get-order-list (OCO)</a>
</li>
</ul>
</li>
<li>
<a href="#order-trade-transaction-history-api" class="toc-h1 toc-link" data-title="Order, Trade, Transaction History API">Order, Trade, Transaction History API</a>
<ul class="toc-list-h2">
<li>
<a href="#introduction-3" class="toc-h2 toc-link" data-title="Introduction">Introduction</a>
</li>
<li>
<a href="#private-get-order-history" class="toc-h2 toc-link" data-title="private/get-order-history">private/get-order-history</a>
</li>
<li>
<a href="#private-get-trades" class="toc-h2 toc-link" data-title="private/get-trades">private/get-trades</a>
</li>
<li>
<a href="#private-get-transactions" class="toc-h2 toc-link" data-title="private/get-transactions">private/get-transactions</a>
</li>
</ul>
</li>
<li>
<a href="#wallet-api" class="toc-h1 toc-link" data-title="Wallet API">Wallet API</a>
<ul class="toc-list-h2">
<li>
<a href="#private-create-withdrawal" class="toc-h2 toc-link" data-title="private/create-withdrawal">private/create-withdrawal</a>
</li>
<li>
<a href="#private-get-currency-networks" class="toc-h2 toc-link" data-title="private/get-currency-networks">private/get-currency-networks</a>
</li>
<li>
<a href="#private-get-deposit-address" class="toc-h2 toc-link" data-title="private/get-deposit-address">private/get-deposit-address</a>
</li>
<li>
<a href="#private-get-deposit-history" class="toc-h2 toc-link" data-title="private/get-deposit-history">private/get-deposit-history</a>
</li>
<li>
<a href="#private-get-withdrawal-history" class="toc-h2 toc-link" data-title="private/get-withdrawal-history">private/get-withdrawal-history</a>
</li>
</ul>
</li>
<li>
<a href="#staking-api" class="toc-h1 toc-link" data-title="Staking API">Staking API</a>
<ul class="toc-list-h2">
<li>
<a href="#private-staking-stake" class="toc-h2 toc-link" data-title="private/staking/stake">private/staking/stake</a>
</li>
<li>
<a href="#private-staking-unstake" class="toc-h2 toc-link" data-title="private/staking/unstake">private/staking/unstake</a>
</li>
<li>
<a href="#private-staking-get-staking-position" class="toc-h2 toc-link" data-title="private/staking/get-staking-position">private/staking/get-staking-position</a>
</li>
<li>
<a href="#private-staking-get-staking-instruments" class="toc-h2 toc-link" data-title="private/staking/get-staking-instruments">private/staking/get-staking-instruments</a>
</li>
<li>
<a href="#private-staking-get-open-stake" class="toc-h2 toc-link" data-title="private/staking/get-open-stake">private/staking/get-open-stake</a>
</li>
<li>
<a href="#private-staking-get-stake-history" class="toc-h2 toc-link" data-title="private/staking/get-stake-history">private/staking/get-stake-history</a>
</li>
<li>
<a href="#private-staking-get-reward-history" class="toc-h2 toc-link" data-title="private/staking/get-reward-history">private/staking/get-reward-history</a>
</li>
<li>
<a href="#private-staking-convert" class="toc-h2 toc-link" data-title="private/staking/convert">private/staking/convert</a>
</li>
<li>
<a href="#private-staking-get-open-convert" class="toc-h2 toc-link" data-title="private/staking/get-open-convert">private/staking/get-open-convert</a>
</li>
<li>
<a href="#private-staking-get-convert-history" class="toc-h2 toc-link" data-title="private/staking/get-convert-history">private/staking/get-convert-history</a>
</li>
<li>
<a href="#public-staking-get-conversion-rate" class="toc-h2 toc-link" data-title="public/staking/get-conversion-rate">public/staking/get-conversion-rate</a>
</li>
</ul>
</li>
<li>
<a href="#websocket-subscriptions" class="toc-h1 toc-link" data-title="Websocket Subscriptions">Websocket Subscriptions</a>
<ul class="toc-list-h2">
<li>
<a href="#introduction-4" class="toc-h2 toc-link" data-title="Introduction">Introduction</a>
</li>
<li>
<a href="#websocket-heartbeats" class="toc-h2 toc-link" data-title="Websocket Heartbeats">Websocket Heartbeats</a>
</li>
<li>
<a href="#user-order-instrument_name" class="toc-h2 toc-link" data-title="user.order.{instrument_name}">user.order.{instrument_name}</a>
</li>
<li>
<a href="#user-trade-instrument_name" class="toc-h2 toc-link" data-title="user.trade.{instrument_name}">user.trade.{instrument_name}</a>
</li>
<li>
<a href="#user-balance" class="toc-h2 toc-link" data-title="user.balance">user.balance</a>
</li>
<li>
<a href="#user-positions" class="toc-h2 toc-link" data-title="user.positions">user.positions</a>
</li>
<li>
<a href="#user-account_risk" class="toc-h2 toc-link" data-title="user.account_risk">user.account_risk</a>
</li>
<li>
<a href="#user-position_balance" class="toc-h2 toc-link" data-title="user.position_balance">user.position_balance</a>
</li>
<li>
<a href="#book-instrument_name-depth" class="toc-h2 toc-link" data-title="book.{instrument_name}.{depth}">book.{instrument_name}.{depth}</a>
</li>
<li>
<a href="#ticker-instrument_name" class="toc-h2 toc-link" data-title="ticker.{instrument_name}">ticker.{instrument_name}</a>
</li>
<li>
<a href="#trade-instrument_name" class="toc-h2 toc-link" data-title="trade.{instrument_name}">trade.{instrument_name}</a>
</li>
<li>
<a href="#candlestick-time_frame-instrument_name" class="toc-h2 toc-link" data-title="candlestick.{time_frame}.{instrument_name}">candlestick.{time_frame}.{instrument_name}</a>
</li>
<li>
<a href="#index-instrument_name" class="toc-h2 toc-link" data-title="index.{instrument_name}">index.{instrument_name}</a>
</li>
<li>
<a href="#mark-instrument_name" class="toc-h2 toc-link" data-title="mark.{instrument_name}">mark.{instrument_name}</a>
</li>
<li>
<a href="#settlement-instrument_name" class="toc-h2 toc-link" data-title="settlement.{instrument_name}">settlement.{instrument_name}</a>
</li>
<li>
<a href="#funding-instrument_name" class="toc-h2 toc-link" data-title="funding.{instrument_name}">funding.{instrument_name}</a>
</li>
<li>
<a href="#estimatedfunding-instrument_name" class="toc-h2 toc-link" data-title="estimatedfunding.{instrument_name}">estimatedfunding.{instrument_name}</a>
</li>
<li>
<a href="#public-auth" class="toc-h2 toc-link" data-title="public/auth">public/auth</a>
</li>
<li>
<a href="#private-set-cancel-on-disconnect" class="toc-h2 toc-link" data-title="private/set-cancel-on-disconnect">private/set-cancel-on-disconnect</a>
</li>
<li>
<a href="#private-get-cancel-on-disconnect" class="toc-h2 toc-link" data-title="private/get-cancel-on-disconnect">private/get-cancel-on-disconnect</a>
</li>
</ul>
</li>
<li>
<a href="#common-issues" class="toc-h1 toc-link" data-title="Common Issues">Common Issues</a>
<ul class="toc-list-h2">
<li>
<a href="#too_many_requests-after-websocket-connects" class="toc-h2 toc-link" data-title="TOO_MANY_REQUESTS After Websocket Connects">TOO_MANY_REQUESTS After Websocket Connects</a>
</li>
<li>
<a href="#invalid_nonce-on-all-requests" class="toc-h2 toc-link" data-title="INVALID_NONCE On All Requests">INVALID_NONCE On All Requests</a>
</li>
</ul>
</li>
</ul>
<ul class="toc-footer">
<li><a href='https://crypto.com/exchange/'>Crypto.com Exchange</a></li>
<li><a href='https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#introduction'>Exchange API v1 Documentation</a></li>
</ul>
</div>
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id='introduction'>Introduction</h1><h2 id='welcome'>Welcome</h2>
<p>Welcome to the Crypto.com Exchange API v1 reference documentation.</p>

<p>The Crypto.com Exchange API v1 provides developers with a REST, and websocket API.</p>

<p>The majority of API calls are available across both mediums in the <em>same</em> request and response formats, allowing smooth transition and a reduced learning curve between the two platforms.</p>

<p>Where applicable, all API calls come with detailed information on both the request and response parameters, all in a simple JSON format, as well as sample requests and code snippets in JavaScript, Python, C#, and Java which can be viewed on the right.</p>

<p><em>Notes on Exchange Upgrade and API Versions</em></p>

<ul>
<li>Exchange v1 API is the latest version of API which can trade Spot / Derivatives / Margin.</li>
<li>Derivatives v1 API has been upgraded into Exchange v1 API with additional capabilities for Spot Trading / Margin Trading / Wallet Management. As Exchange v1 API is a superset of <a href='https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html'>Derivatives v1 API</a>, existing customer can continue using the same for trading.</li>
<li>For full details about the exchange upgrade, please refer to <a href="https://crypto.com/product-news/introducing-the-gen-3-0-crypto-com-exchange">this blog post with FAQ documents</a>.</li>
</ul>
<h2 id='breaking-change-schedule'>Breaking Change Schedule</h2>
<ul>
<li>On 2025-02-27 8:00 UTC, <br>
For <code>book.{instrument_name}.{depth}</code>, the full snapshot subscription (<code>book_subscription_type=SNAPSHOT</code>) <code>100ms</code> frequency is removed. <br>
Customers wishing to continue with the faster <code>100ms</code> frequency should switch to the delta subscription (<code>book_subscription_type=SNAPSHOT_AND_UPDATE</code>). <br>
This higher performing subscription benefits the user with reduced bandwidth/processing compared to the snapshot subscription. <br>
For a transition period, users subscribing to the removed <code>100ms</code> snapshot will receive the <code>500ms</code> subscription. <br>
<br>
The <code>book.{instrument_name}</code> subscription (default depth) will be removed.<br>
Customers should use the explicit <code>book.{instrument_name}.{depth}</code> subscription and specify the required depth.<p>
For a transition period, users subscribing to the removed subscription will receive the default <code>50</code> depth subscription.<br>
<br></li>
<li>These changes will take place around 17 December 2023 8:00 UTC.</li>
<li>Market Data wildcard ticker subscription will be removed. Users should use the instrument specific subscription.</li>
</ul>
<h2 id='change-logs'>Change Logs</h2>
<ul>
<li><p>2025-07-04</p>

<ul>
<li><code>private/create-order</code> exec_inst was added <code>SMART_POST_ONLY</code></li>
<li><code>private/create-order-list (LIST)</code> exec_inst was added <code>SMART_POST_ONLY</code></li>
<li><code>private/get-open-orders</code> exec_inst was added <code>SMART_POST_ONLY</code></li>
<li><code>private/get-order-detail</code>was addedexec_inst was added <code>SMART_POST_ONLY</code></li>
<li><code>private/get-order-history</code> exec_inst was added <code>SMART_POST_ONLY</code></li>
</ul></li>
<li><p>2025-06-10</p>

<ul>
<li><code>private/amend-order</code> was added</li>
<li><code>public/get-announcements</code> was added</li>
</ul></li>
<li><p>2025-05-29</p>

<ul>
<li>transaction_time_ns field was added into <code>user.order.{instrument_name}</code> response</li>
</ul></li>
<li><p>2025-03-14</p>

<ul>
<li>Removed deprecated attributes system_label in <code>private/get-accounts</code></li>
</ul></li>
<li><p>2025-03-06</p>

<ul>
<li>Removed deprecated <code>book.{instrument_name}</code> default book subscription</li>
<li>Removed deprecated 100ms internval from full snapshot <code>book.{instrument_name}.{depth}</code> book subscription</li>
</ul></li>
<li><p>2025-03-04</p>

<ul>
<li>Remove section: <code>Unified Wallet and System Label</code></li>
</ul></li>
<li><p>2025-01-27</p>

<ul>
<li><code>book.{instrument_name}.{depth}</code> - The following additional update frequencies are now supported:
<br>Full snapshot subscription (<code>book_subscription_type=SNAPSHOT</code>) <code>500ms</code>
<br>Delta subscription (<code>book_subscription_type=SNAPSHOT_AND_UPDATE</code>) <code>100ms</code></li>
</ul></li>
<li><p>2024-12-11</p>

<ul>
<li><code>private/create-order</code> fee_instrument_name was added</li>
</ul></li>
<li><p>2024-10-02</p>

<ul>
<li><code>public/get-risk-parameters</code> was added</li>
</ul></li>
<li><p>2024-08-15</p>

<ul>
<li><code>private/get-fee-rate</code> was added</li>
<li><code>private/get-instrument-fee-rate</code>was added</li>
</ul></li>
<li><p>2024-07-12</p>

<ul>
<li>Staking API added:
<br> <code>private/staking/stake</code>
<br> <code>private/staking/unstake</code>
<br> <code>private/staking/get-staking-position</code>
<br> <code>private/staking/get-staking-instruments</code>
<br> <code>private/staking/get-open-stake</code>
<br> <code>private/staking/get-stake-history</code>
<br> <code>private/staking/get-reward-history</code>
<br> <code>private/staking/convert</code>
<br> <code>private/staking/get-open-convert</code>
<br> <code>private/staking/get-convert-history</code>
<br> <code>public/staking/get-conversion-rate</code></li>
</ul></li>
<li><p>2024-06-27</p>

<ul>
<li><code>private/create-order</code> self-trade prevent (STP) was added</li>
<li><code>private/create-order-list (LIST)</code> self-trade prevent (STP) was added</li>
</ul></li>
<li><p>2024-02-12</p>

<ul>
<li><code>public/get-trades</code>, <code>trade.{instrument_name}</code> subscription, clarification for the public trade side field</li>
<li>Side is the side of the taker order</li>
<li><code>book.{instrument_name}.{depth}</code> clarifications for book delta sequence number handling and re-subscription</li>
</ul></li>
<li><p>2024-01-04</p>

<ul>
<li>Market data websocket subscription enhancements:</li>
<li><code>book.{instrument_name}</code> - The <code>subscription</code> result value is now explicit
<br>e.g. previous <code>&quot;subscription&quot;: &quot;book.BTC_USD&quot;</code> -&gt; new <code>&quot;subscription&quot;: &quot;book.BTC_USD.50&quot;</code></li>
<li><code>book.{instrument_name}.{depth}</code> - For delta updates, the fixed 500ms delta full book snapshot heartbeat is replaced with empty delta in the case of no book changes</li>
<li><code>ticker</code> - Documented existing &#39;bs&#39; and &#39;ks&#39; fields (bid/ask size)</li>
<li><code>settlement</code> - For wildcard subscription, the <code>subscription</code> result value is now explicit
<br>e.g. previous <code>&quot;subscription&quot;: &quot;settlement&quot;</code> -&gt; new <code>&quot;subscription&quot;: &quot;settlement.BTCUSD-231124&quot;</code></li>
<li>Applied consistent field ordering for all market data subscriptions (<code>book</code>, <code>ticker</code>, <code>trade</code>, <code>candlestick</code>, <code>index</code>, <code>mark</code>, <code>settlement</code>, <code>funding</code>, <code>estimatedfunding</code>).
<br>Result fields are always in the following order:
<br><code>id, method, code, instrument_name, subscription, channel</code></li>
<li>Market data REST <code>public/get-trades</code></li>
<li>Added additional <code>tn</code> nanoseconds timestamp field to the trade response</li>
<li>Clarified timestamp pagination parameters</li>
</ul></li>
<li><p>2023-12-18</p>

<ul>
<li>Market Data wildcard ticker subscription removed. Users should use the instrument specific subscription.</li>
</ul></li>
<li><p>2023-12-11</p>

<ul>
<li>Introduced Market Data subscription limiting. Refer to <a href="#market-data-websocket-subscription-limits">Market Data Websocket Subscription Limits</a> for more details</li>
</ul></li>
<li><p>2023-10-31</p>

<ul>
<li><code>user.balance</code>,<code>private/user-balance</code> will be updated:
<br> 1. Existing field total_margin_balance will represent new margin balance calculation without haircut.
<br> 2. Existing field total_initial_margin previously is made up of position IM only. On effective date, this field will represent the total sum of total_position_im + total_haircut
<br> 3. New field total_position_im will be introduced to represent initial margin requirement to support open positions and orders
<br> 4. New field total_haircut will be introduced to represent the total haircut on eligible collateral token assets. Refer to <a href="https://static2.crypto.com/exchange/assets/documents/Exchange%20Smart%20Cross%20Margin%20Enhancement%20Guide%202023.pdf">Smart Cross Margin Enhancement Guide</a> for details</li>
<li><code>user.balance</code>, <code>user.account_risk</code>, <code>private/user-balance</code>, <code>private/get-subaccount-balances</code> will be updated:
<br> 1. New field collateral_eligible will be introduced to indicate if token is eligible Collateral
<br> 2. collateral_weight will be deprecated
<br> 3. New field haircut will be introduced to show haircut of eligible collateral token instead of collateral Weight. Refer to <a href="https://static2.crypto.com/exchange/assets/documents/Exchange%20Smart%20Cross%20Margin%20Enhancement%20Guide%202023.pdf">Smart Cross Margin Enhancement Guide</a> for details</li>
</ul></li>
<li><p>2023-08-11</p>

<ul>
<li><code>private/create-order-list (LIST)</code> for batch order creation added</li>
<li><code>private/cancel-order-list (LIST)</code> for batch order cancel added</li>
</ul></li>
<li><p>2023-07-31 <br></p>

<ul>
<li>Market Data Websocket Subscriptions is effective: <br></li>
<li><code>funding.{instrument_name}</code> - channel will return the fixed hourly rate that will settle at the end of the hour. <br></li>
<li><code>estimatedfunding.{instrument_name}</code> - channel will return the estimated hourly rate that will begin in the next interval.<br></li>
<li> Added new “funding_rate” and “estimated_funding_rate” valuation types for public/get-valuations</li>
</ul></li>
<li><p>2023-06-28</p>

<ul>
<li><code>private/get-deposit-history</code> added</li>
<li><code>private/get-withdrawal-history</code> added</li>
</ul></li>
<li><p>2022-11-30</p>

<ul>
<li>Support using <code>client_oid</code> to query in <code>private/get-order-detail</code> REST API</li>
</ul></li>
<li><p>2022-11-10</p>

<ul>
<li><code>USD_Stable_Coin</code> (aka USD Bundle), will be renamed as <code>USD</code>. Customer can test the change in UAT from 2022-11-10 before the change is effective in PROD. Target date for PROD is TBD.</li>
<li>Customer can input both <code>USD</code> and <code>USD_Stable_Coin</code> to mean the same USD Bundle.</li>
<li>However, on response, <code>USD</code> will be used to mean USD Bundle, instead of <code>USD_Stable_Coin</code>.</li>
</ul></li>
<li><p>2022-10-31</p>

<ul>
<li>Added <code>private/create-order-list</code>, <code>private/create-subaccount-transfer</code> REST APIs</li>
<li>Added <code>user.account_risk</code> and <code>user.position_balance</code> WebSocket subscriptions</li>
<li>Added more <code>period</code> in <code>public/get-candlestick</code> <code>candlestick.{time_frame}.{instrument_name}</code> WebSocket subscription</li>
</ul></li>
<li><p>2022-09-21 - Added <strong>Unified Wallet and System Label</strong> section, to illustrate the transition from multiple wallets into unified wallet.</p></li>
<li><p>2022-09-21 - Added new sub-account management endpoints: <code>private/get-accounts</code>, <code>private/create-subaccount-transfer</code></p></li>
<li><p>2022-09-21 - Added new exchange wallet management endpoints: <code>private/create-withdrawal</code>, <code>private/get-deposit-address</code>, <code>private/get-curency-networks</code></p></li>
<li><p>2022-09-21 - First publish, based on Derivative Exchange API v1.</p></li>
</ul>
<h1 id='common-api-reference'>Common API Reference</h1>
<p>Most of the APIs for REST and Websockets are shared, and follow the same request format and response, allowing users to easily switch between the two methods.</p>

<p>The <code>Applies To</code> section under each API allows you to see which platform supports the API.</p>
<h3 id='naming-conventions'>Naming Conventions</h3>
<ul>
<li><p>All methods and URLs in dash-case</p></li>
<li><p>All parameters in snake_case</p></li>
<li><p>Enums in full uppercase and snake_case</p></li>
</ul>
<h2 id='generating-the-api-key'>Generating the API Key</h2>
<p>Before sending any requests, you&#39;ll need to generate a new API key.</p>

<p>This can be done in the Exchange website under <code>User Center</code> - <code>API</code>.</p>

<p>After generating the key, there are two things you need to carefully note down:</p>

<ul>
<li>API Key</li>
<li>Secret Key</li>
</ul>

<p>API Key and Secret are randomly generated by the system and can not be modified. Default settings will be set to &quot;Can Read&quot; only, and you have the option of adding or removing certain permissions for your API Key via Web UI.</p>

<p>You can optionally specify a whitelist of IP addresses when generating the API Key.</p>

<p>If specified, the API can only be used from the whitelisted IP addresses.</p>
<h2 id='rest-api-root-endpoint'>REST API Root Endpoint</h2>
<aside class="notice" style="font-weight:bold">
Note: REST API requests need to be sent as "Content Type: application/json"
</aside>
<h3 id='uat-sandbox'>UAT Sandbox</h3><h4 id='rest-api'>REST API</h4>
<p><code style="font-size:13pt; font-weight:bold; color:green">https://uat-api.3ona.co/exchange/v1/{method}</code></p>
<h3 id='production'>Production</h3><h4 id='rest-api-2'>REST API</h4>
<p><code style="font-size:13pt; font-weight:bold; color:green">https://api.crypto.com/exchange/v1/{method}</code></p>
<h2 id='websocket-root-endpoints'>Websocket Root Endpoints</h2>
<p>The Websocket is available across two servers -- the User API Websocket (for authenticated requests and subscriptions), and Market Data Websocket:</p>
<h3 id='uat-sandbox-2'>UAT Sandbox</h3><h4 id='websocket-user-api-and-subscriptions'>Websocket (User API and Subscriptions)</h4>
<p><code style="font-size:13pt; font-weight:bold; color:green">wss://uat-stream.3ona.co/exchange/v1/user</code></p>
<h4 id='websocket-market-data-subscriptions'>Websocket (Market Data Subscriptions)</h4>
<p><code style="font-size:13pt; font-weight:bold; color:green">wss://uat-stream.3ona.co/exchange/v1/market</code></p>
<h3 id='production-2'>Production</h3><h4 id='websocket-user-api-and-subscriptions-2'>Websocket (User API and Subscriptions)</h4>
<p><code style="font-size:13pt; font-weight:bold; color:green">wss://stream.crypto.com/exchange/v1/user</code></p>
<h4 id='websocket-market-data-subscriptions-2'>Websocket (Market Data Subscriptions)</h4>
<p><code style="font-size:13pt; font-weight:bold; color:green">wss://stream.crypto.com/exchange/v1/market</code></p>
<h2 id='rate-limits'>Rate Limits</h2><h3 id='rest-api-3'>REST API</h3>
<p>For authenticated calls, rate limits are per API method, per API key:</p>

<table><thead>
<tr>
<th>Method</th>
<th>Limit</th>
</tr>
</thead><tbody>
<tr>
<td><code>private/create-order</code><br><code>private/cancel-order</code><br><code>private/cancel-all-orders</code></td>
<td>15 requests per 100ms each</td>
</tr>
<tr>
<td><code>private/get-order-detail</code></td>
<td>30 requests per 100ms</td>
</tr>
<tr>
<td><code>private/get-trades</code></td>
<td>1 requests per second</td>
</tr>
<tr>
<td><code>private/get-order-history</code></td>
<td>1 requests per second</td>
</tr>
<tr>
<td>All others</td>
<td>3 requests per 100ms each</td>
</tr>
</tbody></table>

<p>For public market data calls, rate limits are per API method, per IP address:</p>

<table><thead>
<tr>
<th>Method</th>
<th>Limit</th>
</tr>
</thead><tbody>
<tr>
<td><code>public/get-book</code><br><code>public/get-ticker</code><br><code>public/get-trades</code><br> <code>public/get-valuations</code><br> <code>public/get-candlestick</code><br> <code>public/get-insurance</code></td>
<td>100 requests per second each</td>
</tr>
</tbody></table>
<h3 id='staking'>Staking</h3>
<table><thead>
<tr>
<th>Method</th>
<th>Limit</th>
</tr>
</thead><tbody>
<tr>
<td><code>public/staking/*</code></td>
<td>50 requests per second</td>
</tr>
<tr>
<td><code>private/staking/*</code></td>
<td>50 requests per second</td>
</tr>
</tbody></table>
<h3 id='websocket'>Websocket</h3>
<table><thead>
<tr>
<th>Websocket</th>
<th>Limit</th>
</tr>
</thead><tbody>
<tr>
<td>User API</td>
<td>150 requests per second</td>
</tr>
<tr>
<td>Market Data</td>
<td>100 requests per second</td>
</tr>
</tbody></table>

<p><code>private/get-trades</code> and <code>private/get-order-history</code> is rate limited at 1 request per second on REST</p>

<div class='note'>
<div class='note-body'>
<b>Important Note</b>
<br><br>
We recommend adding a 1-second sleep after establishing the websocket connection, and before requests are sent.
<br><br>
This will avoid occurrences of rate-limit (`TOO_MANY_REQUESTS`) errors, as the websocket rate limits are pro-rated based on the calendar-second that the websocket connection was opened.
</div>
</div>
<h2 id='open-order-limit'>Open Order Limit</h2>
<table><thead>
<tr>
<th>Condition</th>
<th>Limit</th>
</tr>
</thead><tbody>
<tr>
<td>Maximum allowed open orders per trading pair per account/subaccount</td>
<td>200</td>
</tr>
<tr>
<td>Overall maximum allowed open orders per account/subaccount across all trading pairs</td>
<td>1000</td>
</tr>
</tbody></table>
<h2 id='request-format'>Request Format</h2>
<p>The following information applies to both REST API and websockets commands:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>long</td>
<td>Y</td>
<td>Request Identifier<br>Range: 0 to 9,223,372,036,854,775,807<br>Response message will contain the same id</td>
</tr>
<tr>
<td>method</td>
<td>string</td>
<td>Y</td>
<td>The method to be invoked</td>
</tr>
<tr>
<td>params</td>
<td>object</td>
<td>N</td>
<td>Parameters for the methods</td>
</tr>
<tr>
<td>api_key</td>
<td>string</td>
<td>Depends</td>
<td>API key. See <code>Digital Signature</code> section</td>
</tr>
<tr>
<td>sig</td>
<td>string</td>
<td>Depends</td>
<td>Digital signature. See <code>Digital Signature</code> section</td>
</tr>
<tr>
<td>nonce</td>
<td>long</td>
<td>Y</td>
<td>Current timestamp (milliseconds since the Unix epoch)</td>
</tr>
</tbody></table>
<h2 id='digital-signature'>Digital Signature</h2><div class="highlight"><pre class="highlight javascript tab-javascript"><code><span class="kd">const</span> <span class="nx">crypto</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="dl">"</span><span class="s2">crypto-js</span><span class="dl">"</span><span class="p">);</span>

<span class="kd">const</span> <span class="nx">signRequest</span> <span class="o">=</span> <span class="p">(</span><span class="nx">request_body</span><span class="p">,</span> <span class="nx">api_key</span><span class="p">,</span> <span class="nx">secret</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="p">{</span>
<span class="kd">const</span> <span class="p">{</span> <span class="nx">id</span><span class="p">,</span> <span class="nx">method</span><span class="p">,</span> <span class="nx">params</span><span class="p">,</span> <span class="nx">nonce</span> <span class="p">}</span> <span class="o">=</span> <span class="nx">request_body</span><span class="p">;</span>

<span class="kd">function</span> <span class="nx">isObject</span><span class="p">(</span><span class="nx">obj</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">obj</span> <span class="o">!==</span> <span class="kc">undefined</span> <span class="o">&amp;&amp;</span> <span class="nx">obj</span> <span class="o">!==</span> <span class="kc">null</span> <span class="o">&amp;&amp;</span> <span class="nx">obj</span><span class="p">.</span><span class="kd">constructor</span> <span class="o">==</span> <span class="nb">Object</span><span class="p">;</span> <span class="p">}</span>
<span class="kd">function</span> <span class="nx">isArray</span><span class="p">(</span><span class="nx">obj</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">obj</span> <span class="o">!==</span> <span class="kc">undefined</span> <span class="o">&amp;&amp;</span> <span class="nx">obj</span> <span class="o">!==</span> <span class="kc">null</span> <span class="o">&amp;&amp;</span> <span class="nx">obj</span><span class="p">.</span><span class="kd">constructor</span> <span class="o">==</span> <span class="nb">Array</span><span class="p">;</span> <span class="p">}</span>
<span class="kd">function</span> <span class="nx">arrayToString</span><span class="p">(</span><span class="nx">obj</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">obj</span><span class="p">.</span><span class="nx">reduce</span><span class="p">((</span><span class="nx">a</span><span class="p">,</span><span class="nx">b</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">a</span> <span class="o">+</span> <span class="p">(</span><span class="nx">isObject</span><span class="p">(</span><span class="nx">b</span><span class="p">)</span> <span class="p">?</span> <span class="nx">objectToString</span><span class="p">(</span><span class="nx">b</span><span class="p">)</span> <span class="p">:</span> <span class="p">(</span><span class="nx">isArray</span><span class="p">(</span><span class="nx">b</span><span class="p">)</span> <span class="p">?</span> <span class="nx">arrayToString</span><span class="p">(</span><span class="nx">b</span><span class="p">)</span> <span class="p">:</span> <span class="nx">b</span><span class="p">));</span> <span class="p">},</span> <span class="dl">""</span><span class="p">);</span> <span class="p">}</span>
<span class="kd">function</span> <span class="nx">objectToString</span><span class="p">(</span><span class="nx">obj</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="p">(</span><span class="nx">obj</span> <span class="o">==</span> <span class="kc">null</span> <span class="p">?</span> <span class="dl">""</span> <span class="p">:</span> <span class="nb">Object</span><span class="p">.</span><span class="nx">keys</span><span class="p">(</span><span class="nx">obj</span><span class="p">).</span><span class="nx">sort</span><span class="p">().</span><span class="nx">reduce</span><span class="p">((</span><span class="nx">a</span><span class="p">,</span> <span class="nx">b</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">a</span> <span class="o">+</span> <span class="nx">b</span> <span class="o">+</span> <span class="p">(</span><span class="nx">isArray</span><span class="p">(</span><span class="nx">obj</span><span class="p">[</span><span class="nx">b</span><span class="p">])</span> <span class="p">?</span> <span class="nx">arrayToString</span><span class="p">(</span><span class="nx">obj</span><span class="p">[</span><span class="nx">b</span><span class="p">])</span> <span class="p">:</span> <span class="p">(</span><span class="nx">isObject</span><span class="p">(</span><span class="nx">obj</span><span class="p">[</span><span class="nx">b</span><span class="p">])</span> <span class="p">?</span> <span class="nx">objectToString</span><span class="p">(</span><span class="nx">obj</span><span class="p">[</span><span class="nx">b</span><span class="p">])</span> <span class="p">:</span> <span class="nx">obj</span><span class="p">[</span><span class="nx">b</span><span class="p">]));</span> <span class="p">},</span> <span class="dl">""</span><span class="p">));</span> <span class="p">}</span>

<span class="kd">const</span> <span class="nx">paramsString</span> <span class="o">=</span> <span class="nx">objectToString</span><span class="p">(</span><span class="nx">params</span><span class="p">);</span>

<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">paramsString</span><span class="p">);</span>

<span class="kd">const</span> <span class="nx">sigPayload</span> <span class="o">=</span> <span class="nx">method</span> <span class="o">+</span> <span class="nx">id</span> <span class="o">+</span> <span class="nx">api_key</span> <span class="o">+</span> <span class="nx">paramsString</span> <span class="o">+</span> <span class="nx">nonce</span><span class="p">;</span>
<span class="nx">request_body</span><span class="p">.</span><span class="nx">sig</span> <span class="o">=</span> <span class="nx">crypto</span><span class="p">.</span><span class="nx">HmacSHA256</span><span class="p">(</span><span class="nx">sigPayload</span><span class="p">,</span> <span class="nx">secret</span><span class="p">).</span><span class="nx">toString</span><span class="p">(</span><span class="nx">crypto</span><span class="p">.</span><span class="nx">enc</span><span class="p">.</span><span class="nx">Hex</span><span class="p">);</span>
<span class="p">};</span>

<span class="kd">const</span> <span class="nx">apiKey</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">token</span><span class="dl">"</span><span class="p">;</span> <span class="cm">/* User API Key */</span>
<span class="kd">const</span> <span class="nx">apiSecret</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">secretKey</span><span class="dl">"</span><span class="p">;</span> <span class="cm">/* User API Secret */</span>

<span class="kd">let</span> <span class="nx">request</span> <span class="o">=</span> <span class="p">{</span>
<span class="na">id</span><span class="p">:</span> <span class="mi">11</span><span class="p">,</span>
<span class="na">method</span><span class="p">:</span> <span class="dl">"</span><span class="s2">private/get-order-detail</span><span class="dl">"</span><span class="p">,</span>
<span class="na">api_key</span><span class="p">:</span> <span class="nx">API_KEY</span><span class="p">,</span>
<span class="na">params</span><span class="p">:</span> <span class="p">{</span>
<span class="na">order_id</span><span class="p">:</span> <span class="mi">53287421324</span>
<span class="p">},</span>
<span class="na">nonce</span><span class="p">:</span> <span class="mi">1587846358253</span><span class="p">,</span>
<span class="p">};</span>

<span class="kd">const</span> <span class="nx">requestBody</span> <span class="o">=</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">signRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">,</span> <span class="nx">apiKey</span><span class="p">,</span> <span class="nx">apiSecret</span><span class="p">)));</span>
</code></pre></div><div class="highlight"><pre class="highlight python tab-python"><code><span class="kn">import</span> <span class="nn">hmac</span>
<span class="kn">import</span> <span class="nn">hashlib</span>
<span class="kn">import</span> <span class="nn">time</span>

<span class="n">API_KEY</span> <span class="o">=</span> <span class="s">"API_KEY"</span>
<span class="n">SECRET_KEY</span> <span class="o">=</span> <span class="s">"SECRET_KEY"</span>

<span class="n">req</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">"id"</span><span class="p">:</span> <span class="mi">14</span><span class="p">,</span>
<span class="s">"method"</span><span class="p">:</span> <span class="s">"private/create-order-list"</span><span class="p">,</span>
<span class="s">"api_key"</span><span class="p">:</span> <span class="n">API_KEY</span><span class="p">,</span>
<span class="s">"params"</span><span class="p">:</span> <span class="p">{</span>
<span class="s">"contingency_type"</span><span class="p">:</span> <span class="s">"LIST"</span><span class="p">,</span>
<span class="s">"order_list"</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="s">"instrument_name"</span><span class="p">:</span> <span class="s">"ONE_USDT"</span><span class="p">,</span>
<span class="s">"side"</span><span class="p">:</span> <span class="s">"BUY"</span><span class="p">,</span>
<span class="s">"type"</span><span class="p">:</span> <span class="s">"LIMIT"</span><span class="p">,</span>
<span class="s">"price"</span><span class="p">:</span> <span class="s">"0.24"</span><span class="p">,</span>
<span class="s">"quantity"</span><span class="p">:</span> <span class="s">"1.0"</span>
<span class="p">},</span>
<span class="p">{</span>
<span class="s">"instrument_name"</span><span class="p">:</span> <span class="s">"ONE_USDT"</span><span class="p">,</span>
<span class="s">"side"</span><span class="p">:</span> <span class="s">"BUY"</span><span class="p">,</span>
<span class="s">"type"</span><span class="p">:</span> <span class="s">"STOP_LIMIT"</span><span class="p">,</span>
<span class="s">"price"</span><span class="p">:</span> <span class="s">"0.27"</span><span class="p">,</span>
<span class="s">"quantity"</span><span class="p">:</span> <span class="s">"1.0"</span><span class="p">,</span>
<span class="s">"trigger_price"</span><span class="p">:</span> <span class="s">"0.26"</span>
<span class="p">}</span>
<span class="p">]</span>
<span class="p">},</span>
<span class="s">"nonce"</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">*</span> <span class="mi">1000</span><span class="p">)</span>
<span class="p">}</span>

<span class="c1"># First ensure the params are alphabetically sorted by key
</span><span class="n">param_str</span> <span class="o">=</span> <span class="s">""</span>

<span class="n">MAX_LEVEL</span> <span class="o">=</span> <span class="mi">3</span>


<span class="k">def</span> <span class="nf">params_to_str</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">level</span><span class="p">):</span>
<span class="k">if</span> <span class="n">level</span> <span class="o">&gt;=</span> <span class="n">MAX_LEVEL</span><span class="p">:</span>
<span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>

<span class="n">return_str</span> <span class="o">=</span> <span class="s">""</span>
<span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span>
<span class="n">return_str</span> <span class="o">+=</span> <span class="n">key</span>
<span class="k">if</span> <span class="n">obj</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">return_str</span> <span class="o">+=</span> <span class="s">'null'</span>
<span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="nb">list</span><span class="p">):</span>
<span class="k">for</span> <span class="n">subObj</span> <span class="ow">in</span> <span class="n">obj</span><span class="p">[</span><span class="n">key</span><span class="p">]:</span>
<span class="n">return_str</span> <span class="o">+=</span> <span class="n">params_to_str</span><span class="p">(</span><span class="n">subObj</span><span class="p">,</span> <span class="n">level</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">return_str</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">obj</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
<span class="k">return</span> <span class="n">return_str</span>


<span class="k">if</span> <span class="s">"params"</span> <span class="ow">in</span> <span class="n">req</span><span class="p">:</span>
<span class="n">param_str</span> <span class="o">=</span> <span class="n">params_to_str</span><span class="p">(</span><span class="n">req</span><span class="p">[</span><span class="s">'params'</span><span class="p">],</span> <span class="mi">0</span><span class="p">)</span>

<span class="n">payload_str</span> <span class="o">=</span> <span class="n">req</span><span class="p">[</span><span class="s">'method'</span><span class="p">]</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">req</span><span class="p">[</span><span class="s">'id'</span><span class="p">])</span> <span class="o">+</span> <span class="n">req</span><span class="p">[</span><span class="s">'api_key'</span><span class="p">]</span> <span class="o">+</span> <span class="n">param_str</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">req</span><span class="p">[</span><span class="s">'nonce'</span><span class="p">])</span>

<span class="n">req</span><span class="p">[</span><span class="s">'sig'</span><span class="p">]</span> <span class="o">=</span> <span class="n">hmac</span><span class="o">.</span><span class="n">new</span><span class="p">(</span>
<span class="nb">bytes</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">SECRET_KEY</span><span class="p">),</span> <span class="s">'utf-8'</span><span class="p">),</span>
<span class="n">msg</span><span class="o">=</span><span class="nb">bytes</span><span class="p">(</span><span class="n">payload_str</span><span class="p">,</span> <span class="s">'utf-8'</span><span class="p">),</span>
<span class="n">digestmod</span><span class="o">=</span><span class="n">hashlib</span><span class="o">.</span><span class="n">sha256</span>
<span class="p">)</span><span class="o">.</span><span class="n">hexdigest</span><span class="p">()</span>
</code></pre></div><div class="highlight"><pre class="highlight csharp tab-csharp"><code><span class="k">using</span> <span class="nn">System</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Collections.Generic</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.IO</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Linq</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Net</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Security.Cryptography</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Text</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Threading.Tasks</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Web</span><span class="p">;</span>
<span class="k">using</span> <span class="nn">System.Net.WebSockets</span><span class="p">;</span>

<span class="k">private</span> <span class="k">const</span> <span class="kt">string</span> <span class="n">API_KEY</span> <span class="p">=</span> <span class="s">"YOUR_API_KEY"</span><span class="p">;</span>
<span class="k">private</span> <span class="k">const</span> <span class="kt">string</span> <span class="n">API_SECRET</span> <span class="p">=</span> <span class="s">"YOUR_API_SECRET"</span><span class="p">;</span>

<span class="k">private</span> <span class="k">static</span> <span class="kt">string</span> <span class="nf">GetSign</span> <span class="p">(</span><span class="n">Dictionary</span> <span class="n">Request</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">Dictionary</span> <span class="n">Params</span> <span class="p">=</span> <span class="n">Request</span><span class="p">.</span><span class="n">Params</span><span class="p">;</span>

<span class="c1">// Ensure the params are alphabetically sorted by key</span>
<span class="c1">// When params contains List value, please refer to the other language's example code for the correct implementation of ParamString</span>
<span class="kt">string</span> <span class="n">ParamString</span> <span class="p">=</span> <span class="kt">string</span><span class="p">.</span><span class="nf">Join</span><span class="p">(</span><span class="s">""</span><span class="p">,</span> <span class="n">Params</span><span class="p">.</span><span class="n">Keys</span><span class="p">.</span><span class="nf">OrderBy</span><span class="p">(</span><span class="n">key</span> <span class="p">=&gt;</span> <span class="n">key</span><span class="p">).</span><span class="nf">Select</span><span class="p">(</span><span class="n">key</span> <span class="p">=&gt;</span> <span class="n">key</span> <span class="p">+</span> <span class="n">Params</span><span class="p">[</span><span class="n">key</span><span class="p">]));</span>

<span class="kt">string</span> <span class="n">SigPayload</span> <span class="p">=</span> <span class="n">Request</span><span class="p">.</span><span class="n">method</span> <span class="p">+</span> <span class="n">Request</span><span class="p">.</span><span class="n">id</span> <span class="p">+</span> <span class="n">API_KEY</span> <span class="p">+</span> <span class="n">ParamString</span> <span class="p">+</span> <span class="n">Request</span><span class="p">.</span><span class="n">nonce</span><span class="p">;</span>

<span class="kt">var</span> <span class="n">hash</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">HMACSHA256</span><span class="p">(</span><span class="n">API_SECRET</span><span class="p">);</span>
<span class="kt">var</span> <span class="n">ComputedHash</span> <span class="p">=</span> <span class="n">hash</span><span class="p">.</span><span class="nf">ComputeHash</span><span class="p">(</span><span class="n">SigPayload</span><span class="p">);</span>
<span class="k">return</span> <span class="nf">ToHex</span><span class="p">(</span><span class="n">ComputedHash</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span>
<span class="p">}</span>
</code></pre></div><div class="highlight"><pre class="highlight java tab-java"><code><span class="kn">import</span> <span class="nn">com.fasterxml.jackson.annotation.JsonProperty</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">lombok.AllArgsConstructor</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">lombok.Builder</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">lombok.Data</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">lombok.NoArgsConstructor</span><span class="o">;</span>

<span class="kn">import</span> <span class="nn">java.util.Map</span><span class="o">;</span>

<span class="nd">@Data</span>
<span class="nd">@Builder</span>
<span class="nd">@NoArgsConstructor</span>
<span class="nd">@AllArgsConstructor</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">ApiRequestJson</span> <span class="o">{</span>
<span class="kd">private</span> <span class="nc">Long</span> <span class="n">id</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">String</span> <span class="n">method</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Object</span><span class="o">&gt;</span> <span class="n">params</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">String</span> <span class="n">sig</span><span class="o">;</span>

<span class="nd">@JsonProperty</span><span class="o">(</span><span class="s">"api_key"</span><span class="o">)</span>
<span class="kd">private</span> <span class="nc">String</span> <span class="n">apiKey</span><span class="o">;</span>

<span class="kd">private</span> <span class="nc">Long</span> <span class="n">nonce</span><span class="o">;</span>
<span class="o">}</span>

<span class="c1">//------------</span>

<span class="kn">import</span> <span class="nn">java.math.BigDecimal</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.nio.charset.StandardCharsets</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.security.InvalidKeyException</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.security.NoSuchAlgorithmException</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.List</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.Map</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.TreeMap</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">javax.crypto.Mac</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">javax.crypto.spec.SecretKeySpec</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.commons.codec.binary.Hex</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SigningUtil</span> <span class="o">{</span>

<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">HMAC_SHA256</span> <span class="o">=</span> <span class="s">"HmacSHA256"</span><span class="o">;</span>
<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kt">int</span> <span class="no">MAX_LEVEL</span> <span class="o">=</span> <span class="mi">3</span><span class="o">;</span>

<span class="kd">public</span> <span class="kd">static</span> <span class="kt">boolean</span> <span class="nf">verifySignature</span><span class="o">(</span><span class="nc">ApiRequestJson</span> <span class="n">apiRequestJson</span><span class="o">,</span> <span class="nc">String</span> <span class="n">secret</span><span class="o">)</span> <span class="o">{</span>
<span class="k">try</span> <span class="o">{</span>
<span class="k">return</span> <span class="nf">genSignature</span><span class="o">(</span><span class="n">apiRequestJson</span><span class="o">,</span> <span class="n">secret</span><span class="o">).</span><span class="na">equalsIgnoreCase</span><span class="o">(</span><span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getSig</span><span class="o">());</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>

<span class="nd">@SuppressWarnings</span><span class="o">(</span><span class="s">"unchecked"</span><span class="o">)</span>
<span class="kd">public</span> <span class="kd">static</span> <span class="nc">String</span> <span class="nf">getParamString</span><span class="o">(</span><span class="kd">final</span> <span class="nc">Object</span> <span class="n">paramObject</span><span class="o">)</span> <span class="o">{</span>
<span class="nc">StringBuilder</span> <span class="n">sb</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">StringBuilder</span><span class="o">();</span>
<span class="n">appendParamString</span><span class="o">(</span><span class="n">sb</span><span class="o">,</span> <span class="n">paramObject</span><span class="o">,</span> <span class="mi">0</span><span class="o">);</span>
<span class="k">return</span> <span class="n">sb</span><span class="o">.</span><span class="na">toString</span><span class="o">();</span>
<span class="o">}</span>


<span class="nd">@SuppressWarnings</span><span class="o">(</span><span class="s">"unchecked"</span><span class="o">)</span>
<span class="kd">private</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">appendParamString</span><span class="o">(</span><span class="kd">final</span> <span class="nc">StringBuilder</span> <span class="n">paramsStringBuilder</span><span class="o">,</span> <span class="kd">final</span> <span class="nc">Object</span> <span class="n">paramObject</span><span class="o">,</span> <span class="kd">final</span> <span class="kt">int</span> <span class="n">level</span><span class="o">)</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="n">level</span> <span class="o">&gt;=</span> <span class="no">MAX_LEVEL</span><span class="o">)</span> <span class="o">{</span>
<span class="n">paramsStringBuilder</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">paramObject</span><span class="o">.</span><span class="na">toString</span><span class="o">());</span>
<span class="k">return</span><span class="o">;</span>
<span class="o">}</span>

<span class="k">if</span> <span class="o">(</span><span class="n">paramObject</span> <span class="k">instanceof</span> <span class="nc">Map</span><span class="o">)</span> <span class="o">{</span>
<span class="nc">TreeMap</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Object</span><span class="o">&gt;</span> <span class="n">params</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">TreeMap</span><span class="o">&lt;&gt;((</span><span class="nc">Map</span><span class="o">)</span> <span class="n">paramObject</span><span class="o">);</span>
<span class="k">for</span> <span class="o">(</span><span class="nc">Map</span><span class="o">.</span><span class="na">Entry</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Object</span><span class="o">&gt;</span> <span class="n">entry</span> <span class="o">:</span> <span class="n">params</span><span class="o">.</span><span class="na">entrySet</span><span class="o">())</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="k">instanceof</span> <span class="nc">Double</span><span class="o">)</span> <span class="o">{</span>
<span class="n">paramsStringBuilder</span>
<span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getKey</span><span class="o">())</span>
<span class="o">.</span><span class="na">append</span><span class="o">((</span><span class="k">new</span> <span class="nc">BigDecimal</span><span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">toString</span><span class="o">()))</span>
<span class="o">.</span><span class="na">stripTrailingZeros</span><span class="o">()</span>
<span class="o">.</span><span class="na">toPlainString</span><span class="o">());</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="k">instanceof</span> <span class="nc">List</span> <span class="o">||</span> <span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="k">instanceof</span> <span class="nc">Map</span><span class="o">)</span> <span class="o">{</span>
<span class="n">paramsStringBuilder</span>
<span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getKey</span><span class="o">());</span>
<span class="n">appendParamString</span><span class="o">(</span><span class="n">paramsStringBuilder</span><span class="o">,</span> <span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">(),</span> <span class="n">level</span> <span class="o">+</span> <span class="mi">1</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="n">paramsStringBuilder</span>
<span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getKey</span><span class="o">())</span>
<span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">paramObject</span> <span class="k">instanceof</span> <span class="nc">List</span><span class="o">)</span> <span class="o">{</span>
<span class="nc">List</span> <span class="n">list</span> <span class="o">=</span> <span class="o">(</span><span class="nc">List</span><span class="o">)</span> <span class="n">paramObject</span><span class="o">;</span>
<span class="k">for</span> <span class="o">(</span><span class="nc">Object</span> <span class="n">o</span> <span class="o">:</span> <span class="n">list</span><span class="o">)</span> <span class="o">{</span>
<span class="n">appendParamString</span><span class="o">(</span><span class="n">paramsStringBuilder</span><span class="o">,</span> <span class="n">o</span><span class="o">,</span> <span class="n">level</span> <span class="o">+</span> <span class="mi">1</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="n">paramsStringBuilder</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">paramObject</span><span class="o">.</span><span class="na">toString</span><span class="o">());</span>
<span class="o">}</span>
<span class="o">}</span>

<span class="kd">public</span> <span class="kd">static</span> <span class="nc">String</span> <span class="nf">genSignature</span><span class="o">(</span><span class="nc">ApiRequestJson</span> <span class="n">apiRequestJson</span><span class="o">,</span> <span class="nc">String</span> <span class="n">secret</span><span class="o">)</span>
<span class="kd">throws</span> <span class="nc">NoSuchAlgorithmException</span><span class="o">,</span> <span class="nc">InvalidKeyException</span> <span class="o">{</span>
<span class="kd">final</span> <span class="kt">byte</span><span class="o">[]</span> <span class="n">byteKey</span> <span class="o">=</span> <span class="n">secret</span><span class="o">.</span><span class="na">getBytes</span><span class="o">(</span><span class="nc">StandardCharsets</span><span class="o">.</span><span class="na">UTF_8</span><span class="o">);</span>
<span class="nc">Mac</span> <span class="n">mac</span> <span class="o">=</span> <span class="nc">Mac</span><span class="o">.</span><span class="na">getInstance</span><span class="o">(</span><span class="no">HMAC_SHA256</span><span class="o">);</span>
<span class="nc">SecretKeySpec</span> <span class="n">keySpec</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">SecretKeySpec</span><span class="o">(</span><span class="n">byteKey</span><span class="o">,</span> <span class="no">HMAC_SHA256</span><span class="o">);</span>
<span class="n">mac</span><span class="o">.</span><span class="na">init</span><span class="o">(</span><span class="n">keySpec</span><span class="o">);</span>

<span class="nc">String</span> <span class="n">paramsString</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span>

<span class="k">if</span> <span class="o">(</span><span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getParams</span><span class="o">()</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
<span class="n">paramsString</span> <span class="o">+=</span> <span class="n">getParamString</span><span class="o">(</span><span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getParams</span><span class="o">());</span>
<span class="o">}</span>

<span class="nc">String</span> <span class="n">sigPayload</span> <span class="o">=</span>
<span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getMethod</span><span class="o">()</span>
<span class="o">+</span> <span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getId</span><span class="o">()</span>
<span class="o">+</span> <span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getApiKey</span><span class="o">()</span>
<span class="o">+</span> <span class="n">paramsString</span>
<span class="o">+</span> <span class="o">(</span><span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getNonce</span><span class="o">()</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">?</span> <span class="s">""</span> <span class="o">:</span> <span class="n">apiRequestJson</span><span class="o">.</span><span class="na">getNonce</span><span class="o">());</span>

<span class="kt">byte</span><span class="o">[]</span> <span class="n">macData</span> <span class="o">=</span> <span class="n">mac</span><span class="o">.</span><span class="na">doFinal</span><span class="o">(</span><span class="n">sigPayload</span><span class="o">.</span><span class="na">getBytes</span><span class="o">(</span><span class="nc">StandardCharsets</span><span class="o">.</span><span class="na">UTF_8</span><span class="o">));</span>

<span class="k">return</span> <span class="nc">Hex</span><span class="o">.</span><span class="na">encodeHexString</span><span class="o">(</span><span class="n">macData</span><span class="o">);</span>
<span class="o">}</span>

<span class="kd">public</span> <span class="kd">static</span> <span class="nc">ApiRequestJson</span> <span class="nf">sign</span><span class="o">(</span><span class="nc">ApiRequestJson</span> <span class="n">apiRequestJson</span><span class="o">,</span> <span class="nc">String</span> <span class="n">secret</span><span class="o">)</span>
<span class="kd">throws</span> <span class="nc">InvalidKeyException</span><span class="o">,</span> <span class="nc">NoSuchAlgorithmException</span> <span class="o">{</span>
<span class="n">apiRequestJson</span><span class="o">.</span><span class="na">setSig</span><span class="o">(</span><span class="n">genSignature</span><span class="o">(</span><span class="n">apiRequestJson</span><span class="o">,</span> <span class="n">secret</span><span class="o">));</span>

<span class="k">return</span> <span class="n">apiRequestJson</span><span class="o">;</span>
<span class="o">}</span>

<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">argv</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">InvalidKeyException</span><span class="o">,</span> <span class="nc">NoSuchAlgorithmException</span> <span class="o">{</span>
<span class="nc">ApiRequestJson</span> <span class="n">apiRequestJson</span> <span class="o">=</span> <span class="nc">ApiRequestJson</span><span class="o">.</span><span class="na">builder</span><span class="o">()</span>
<span class="o">.</span><span class="na">id</span><span class="o">(</span><span class="mi">11L</span><span class="o">)</span>
<span class="o">.</span><span class="na">apiKey</span><span class="o">(</span><span class="s">"token"</span><span class="o">)</span>
<span class="o">.</span><span class="na">method</span><span class="o">(</span><span class="s">"public/auth"</span><span class="o">)</span>
<span class="o">.</span><span class="na">nonce</span><span class="o">(</span><span class="mi">1589594102779L</span><span class="o">)</span>
<span class="o">.</span><span class="na">build</span><span class="o">();</span>

<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">genSignature</span><span class="o">(</span><span class="n">apiRequestJson</span><span class="o">,</span> <span class="s">"secretKey"</span><span class="o">));</span>

<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">sign</span><span class="o">(</span><span class="n">apiRequestJson</span><span class="o">,</span> <span class="s">"secretKey"</span><span class="o">));</span>

<span class="o">}</span>
<span class="o">}</span>
</code></pre></div>
<p>For REST API, only the <strong>private</strong> methods require a Digital Signature (as &quot;sig&quot;) and API key (as &quot;api_key&quot;) to be passed in. These private endpoints are only accessible by authenticated users.</p>

<p>For Websocket (User API), the <code>public/auth</code> command has to be invoked ONCE per session, with the Digital Signature (as &quot;sig&quot;) and API key (as &quot;api_key&quot;) as part of the request. Once authenticated, you will gain access to user-specific commands, and no longer need to use the pass in the Digital Signature and API key anymore for the duration of the session.</p>

<p>The authentication is based on the pairing of the API Key, along with the HMAC-SHA256 hash of the request parameters using the API Secret as the cryptographic key.</p>

<aside class="notice" style="font-weight:bold">
You should NEVER explicitly include the API Secret Key in plain-text in your request
</aside>

<p>The algorithm for generating the HMAC-SHA256 signature is as follows:</p>

<ul>
<li><p>If &quot;params&quot; exist in the request, sort the request parameter keys in <strong>ascending</strong> order.</p></li>
<li><p>Combine all the ordered parameter keys as <code>key</code> + <code>value</code> (no spaces, no delimiters). Let&#39;s call this the <code>parameter string</code></p></li>
<li><p>Next, do the following: <code>method</code> + <code>id</code> + <code>api_key</code> + <code>parameter string</code> + <code>nonce</code></p></li>
<li><p>Use HMAC-SHA256 to hash the above using the API Secret as the cryptographic key</p></li>
<li><p>Encode the output as a hex string -- this is your Digital Signature
<br><br></p></li>
</ul>

<aside style="background-color:#e3e3e3;">
Since all parameters for calculating the HMAC-SHA256 hash are present in the request <b>except</b> the API Secret, the server-side will independently calculate the Digital Signature as well, and if done correctly, the computed hashes will match.<br>
Besides, for JavaScript client calling `private/get-order-detail` API, it is highly recommended to use STRING format of `order_id` in the JSON request payload, in order to guarantee the correctness of Digital Signature.
</aside>
<h2 id='request-format-2'>Request Format</h2>
<p><div class='note'>
<div class='note-body'>
<b>Important Note</b>
<br><br>
All <b>numbers</b> <b>must</b> be strings, and must be wrapped in double quotes. e.g. &quot;12.34&quot;, instead of 12.34.
</div>
</div></p>
<h2 id='response-format'>Response Format</h2>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>long</td>
<td>Original request identifier</td>
</tr>
<tr>
<td>method</td>
<td>string</td>
<td>Method invoked</td>
</tr>
<tr>
<td>result</td>
<td>object</td>
<td>Result object</td>
</tr>
<tr>
<td>code</td>
<td>int</td>
<td>0 for success, see below for full list</td>
</tr>
<tr>
<td>message</td>
<td>string</td>
<td>(optional) For server or error messages</td>
</tr>
<tr>
<td>original</td>
<td>string</td>
<td>(optional) Original request as a string, for error cases</td>
</tr>
</tbody></table>
<h2 id='response-and-reason-codes'>Response and Reason Codes</h2>
<p>These codes are shared by both the response, and the <code>reason</code> field for rejected orders.</p>

<table><thead>
<tr>
<th>Code</th>
<th>HTTP Status</th>
<th>Message Code</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>0</td>
<td>200</td>
<td>--</td>
<td>Success</td>
</tr>
<tr>
<td>201</td>
<td>500</td>
<td>NO_POSITION</td>
<td>No position</td>
</tr>
<tr>
<td>202</td>
<td>400</td>
<td>ACCOUNT_IS_SUSPENDED</td>
<td>Account is suspended</td>
</tr>
<tr>
<td>203</td>
<td>500</td>
<td>ACCOUNTS_DO_NOT_MATCH</td>
<td>Accounts do not match</td>
</tr>
<tr>
<td>204</td>
<td>400</td>
<td>DUPLICATE_CLORDID</td>
<td>Duplicate client order id</td>
</tr>
<tr>
<td>205</td>
<td>500</td>
<td>DUPLICATE_ORDERID</td>
<td>Duplicate order id</td>
</tr>
<tr>
<td>206</td>
<td>500</td>
<td>INSTRUMENT_EXPIRED</td>
<td>Instrument has expired</td>
</tr>
<tr>
<td>207</td>
<td>400</td>
<td>NO_MARK_PRICE</td>
<td>No mark price</td>
</tr>
<tr>
<td>208</td>
<td>400</td>
<td>INSTRUMENT_NOT_TRADABLE</td>
<td>Instrument is not tradable</td>
</tr>
<tr>
<td>209</td>
<td>400</td>
<td>INVALID_INSTRUMENT</td>
<td>Instrument is invalid</td>
</tr>
<tr>
<td>210</td>
<td>500</td>
<td>INVALID_ACCOUNT</td>
<td>Account is invalid</td>
</tr>
<tr>
<td>211</td>
<td>500</td>
<td>INVALID_CURRENCY</td>
<td>Currency is invalid</td>
</tr>
<tr>
<td>212</td>
<td>500</td>
<td>INVALID_ORDERID</td>
<td>Invalid order id</td>
</tr>
<tr>
<td>213</td>
<td>400</td>
<td>INVALID_ORDERQTY</td>
<td>Invalid order quantity</td>
</tr>
<tr>
<td>214</td>
<td>500</td>
<td>INVALID_SETTLE_CURRENCY</td>
<td>Invalid settlement currency</td>
</tr>
<tr>
<td>215</td>
<td>500</td>
<td>INVALID_FEE_CURRENCY</td>
<td>Invalid fee currency</td>
</tr>
<tr>
<td>216</td>
<td>500</td>
<td>INVALID_POSITION_QTY</td>
<td>Invalid position quantity</td>
</tr>
<tr>
<td>217</td>
<td>500</td>
<td>INVALID_OPEN_QTY</td>
<td>Invalid open quantity</td>
</tr>
<tr>
<td>218</td>
<td>400</td>
<td>INVALID_ORDTYPE</td>
<td>Invalid <code>order_type</code></td>
</tr>
<tr>
<td>219</td>
<td>500</td>
<td>INVALID_EXECINST</td>
<td>Invalid <code>exec_inst</code></td>
</tr>
<tr>
<td>220</td>
<td>400</td>
<td>INVALID_SIDE</td>
<td>Invalid <code>side</code></td>
</tr>
<tr>
<td>221</td>
<td>400</td>
<td>INVALID_TIF</td>
<td>Invalid <code>time_in_force</code></td>
</tr>
<tr>
<td>222</td>
<td>400</td>
<td>STALE_MARK_PRICE</td>
<td>Stale mark price</td>
</tr>
<tr>
<td>223</td>
<td>400</td>
<td>NO_CLORDID</td>
<td>No client order id</td>
</tr>
<tr>
<td>224</td>
<td>400</td>
<td>REJ_BY_MATCHING_ENGINE</td>
<td>Rejected by matching engine</td>
</tr>
<tr>
<td>225</td>
<td>400</td>
<td>EXCEED_MAXIMUM_ENTRY_LEVERAGE</td>
<td>Exceeds maximum entry leverage</td>
</tr>
<tr>
<td>226</td>
<td>400</td>
<td>INVALID_LEVERAGE</td>
<td>Invalid leverage</td>
</tr>
<tr>
<td>227</td>
<td>400</td>
<td>INVALID_SLIPPAGE</td>
<td>Invalid slippage</td>
</tr>
<tr>
<td>228</td>
<td>400</td>
<td>INVALID_FLOOR_PRICE</td>
<td>Invalid floor price</td>
</tr>
<tr>
<td>229</td>
<td>400</td>
<td>INVALID_REF_PRICE</td>
<td>Invalid ref price</td>
</tr>
<tr>
<td>230</td>
<td>400</td>
<td>INVALID_TRIGGER_TYPE</td>
<td>Invalid ref price type</td>
</tr>
<tr>
<td>301</td>
<td>500</td>
<td>ACCOUNT_IS_IN_MARGIN_CALL</td>
<td>Account is in margin call</td>
</tr>
<tr>
<td>302</td>
<td>500</td>
<td>EXCEEDS_ACCOUNT_RISK_LIMIT</td>
<td>Exceeds account risk limit</td>
</tr>
<tr>
<td>303</td>
<td>500</td>
<td>EXCEEDS_POSITION_RISK_LIMIT</td>
<td>Exceeds position risk limit</td>
</tr>
<tr>
<td>304</td>
<td>500</td>
<td>ORDER_WILL_LEAD_TO_IMMEDIATE_LIQUIDATION</td>
<td>Order will lead to immediate liquidation</td>
</tr>
<tr>
<td>305</td>
<td>500</td>
<td>ORDER_WILL_TRIGGER_MARGIN_CALL</td>
<td>Order will trigger margin call</td>
</tr>
<tr>
<td>306</td>
<td>500</td>
<td>INSUFFICIENT_AVAILABLE_BALANCE</td>
<td>Insufficient available balance</td>
</tr>
<tr>
<td>307</td>
<td>500</td>
<td>INVALID_ORDSTATUS</td>
<td>Invalid order status</td>
</tr>
<tr>
<td>308</td>
<td>400</td>
<td>INVALID_PRICE</td>
<td>Invalid price</td>
</tr>
<tr>
<td>309</td>
<td>500</td>
<td>MARKET_IS_NOT_OPEN</td>
<td>Market is not open</td>
</tr>
<tr>
<td>310</td>
<td>500</td>
<td>ORDER_PRICE_BEYOND_LIQUIDATION_PRICE</td>
<td>Order price beyond liquidation price</td>
</tr>
<tr>
<td>311</td>
<td>500</td>
<td>POSITION_IS_IN_LIQUIDATION</td>
<td>Position is in liquidation</td>
</tr>
<tr>
<td>312</td>
<td>500</td>
<td>ORDER_PRICE_GREATER_THAN_LIMITUPPRICE</td>
<td>Order price is greater than the limit up price</td>
</tr>
<tr>
<td>313</td>
<td>500</td>
<td>ORDER_PRICE_LESS_THAN_LIMITDOWNPRICE</td>
<td>Order price is less than the limit down price</td>
</tr>
<tr>
<td>314</td>
<td>400</td>
<td>EXCEEDS_MAX_ORDER_SIZE</td>
<td>Exceeds max order size</td>
</tr>
<tr>
<td>315</td>
<td>400</td>
<td>FAR_AWAY_LIMIT_PRICE</td>
<td>Far away limit price</td>
</tr>
<tr>
<td>316</td>
<td>500</td>
<td>NO_ACTIVE_ORDER</td>
<td>No active order</td>
</tr>
<tr>
<td>317</td>
<td>500</td>
<td>POSITION_NO_EXIST</td>
<td>Position does not exist</td>
</tr>
<tr>
<td>318</td>
<td>400</td>
<td>EXCEEDS_MAX_ALLOWED_ORDERS</td>
<td>Exceeds max allowed orders</td>
</tr>
<tr>
<td>319</td>
<td>400</td>
<td>EXCEEDS_MAX_POSITION_SIZE</td>
<td>Exceeds max position size</td>
</tr>
<tr>
<td>320</td>
<td>500</td>
<td>EXCEEDS_INITIAL_MARGIN</td>
<td>Exceeds initial margin</td>
</tr>
<tr>
<td>321</td>
<td>500</td>
<td>EXCEEDS_MAX_AVAILABLE_BALANCE</td>
<td>Exceeds maximum availble balance</td>
</tr>
<tr>
<td>401</td>
<td>400</td>
<td>ACCOUNT_DOES_NOT_EXIST</td>
<td>Account does not exist</td>
</tr>
<tr>
<td>406</td>
<td>500</td>
<td>ACCOUNT_IS_NOT_ACTIVE</td>
<td>Account is not active</td>
</tr>
<tr>
<td>407</td>
<td>500</td>
<td>MARGIN_UNIT_DOES_NOT_EXIST</td>
<td>Margin unit does not exist</td>
</tr>
<tr>
<td>408</td>
<td>400</td>
<td>MARGIN_UNIT_IS_SUSPENDED</td>
<td>Margin unit is suspended</td>
</tr>
<tr>
<td>409</td>
<td>500</td>
<td>INVALID_USER</td>
<td>Invalid user</td>
</tr>
<tr>
<td>410</td>
<td>500</td>
<td>USER_IS_NOT_ACTIVE</td>
<td>User is not active</td>
</tr>
<tr>
<td>411</td>
<td>500</td>
<td>USER_NO_DERIV_ACCESS</td>
<td>User does not have derivative access</td>
</tr>
<tr>
<td>412</td>
<td>500</td>
<td>ACCOUNT_NO_DERIV_ACCESS</td>
<td>Account does not have derivative access</td>
</tr>
<tr>
<td>415</td>
<td>500</td>
<td>BELOW_MIN_ORDER_SIZE</td>
<td>Below Min. Order Size</td>
</tr>
<tr>
<td>501</td>
<td>500</td>
<td>EXCEED_MAXIMUM_EFFECTIVE_LEVERAGE</td>
<td>Exceeds maximum effective leverage</td>
</tr>
<tr>
<td>604</td>
<td>500</td>
<td>INVALID_COLLATERAL_PRICE</td>
<td>Invalid collateral price</td>
</tr>
<tr>
<td>605</td>
<td>500</td>
<td>INVALID_MARGIN_CALC</td>
<td>Invalid margin calculation</td>
</tr>
<tr>
<td>606</td>
<td>500</td>
<td>EXCEED_ALLOWED_SLIPPAGE</td>
<td>Exceed allowed slippage</td>
</tr>
<tr>
<td>30024</td>
<td>400</td>
<td>MAX_AMOUNT_VIOLATED</td>
<td>If <code>create-withdrawal</code> call quantity &gt; <code>max_withdrawal_balance</code> in <code>user-balance</code> api</td>
</tr>
<tr>
<td>40001</td>
<td>400</td>
<td>BAD_REQUEST</td>
<td>Bad request</td>
</tr>
<tr>
<td>40002</td>
<td>400</td>
<td>METHOD_NOT_FOUND</td>
<td>Method not found</td>
</tr>
<tr>
<td>40003</td>
<td>400</td>
<td>INVALID_REQUEST</td>
<td>Invalid request</td>
</tr>
<tr>
<td>40004</td>
<td>400</td>
<td>MISSING_OR_INVALID_ARGUMENT</td>
<td>Required argument is blank or missing</td>
</tr>
<tr>
<td>40005</td>
<td>400</td>
<td>INVALID_DATE</td>
<td>Invalid date</td>
</tr>
<tr>
<td>40006</td>
<td>400</td>
<td>DUPLICATE_REQUEST</td>
<td>Duplicate request received</td>
</tr>
<tr>
<td>40101</td>
<td>401</td>
<td>UNAUTHORIZED</td>
<td>Not authenticated, or key/signature incorrect</td>
</tr>
<tr>
<td>40102</td>
<td>400</td>
<td>INVALID_NONCE</td>
<td>Nonce value differs by more than 60 seconds</td>
</tr>
<tr>
<td>40103</td>
<td>401</td>
<td>IP_ILLEGAL</td>
<td>IP address not whitelisted</td>
</tr>
<tr>
<td>40104</td>
<td>401</td>
<td>USER_TIER_INVALID</td>
<td>Disallowed based on user tier</td>
</tr>
<tr>
<td>40107</td>
<td>400</td>
<td>EXCEED_MAX_SUBSCRIPTIONS</td>
<td>Session subscription limit has been exceeded</td>
</tr>
<tr>
<td>40401</td>
<td>200</td>
<td>NOT_FOUND</td>
<td>Not found</td>
</tr>
<tr>
<td>40801</td>
<td>408</td>
<td>REQUEST_TIMEOUT</td>
<td>Request has timed out</td>
</tr>
<tr>
<td>42901</td>
<td>429</td>
<td>TOO_MANY_REQUESTS</td>
<td>Requests have exceeded rate limits</td>
</tr>
<tr>
<td>43003</td>
<td>500</td>
<td>FILL_OR_KILL</td>
<td>FOK order has not been filled and cancelled</td>
</tr>
<tr>
<td>43004</td>
<td>500</td>
<td>IMMEDIATE_OR_CANCEL</td>
<td>IOC order has not been filled and cancelled</td>
</tr>
<tr>
<td>43005</td>
<td>500</td>
<td>POST_ONLY_REJ</td>
<td>Rejected POST_ONLY create-order request (normally happened when <code>exec_inst</code> contains <code>POST_ONLY</code> but <code>time_in_force</code> is NOT <code>GOOD_TILL_CANCEL</code>)</td>
</tr>
<tr>
<td>43012</td>
<td>200</td>
<td>SELF_TRADE_PREVENTION</td>
<td>Canceled due to Self Trade Prevention</td>
</tr>
<tr>
<td>50001</td>
<td>400</td>
<td>DW_CREDIT_LINE_NOT_MAINTAINED</td>
<td>If <code>create-withdrawal</code> call breaching credit line check</td>
</tr>
<tr>
<td>50001</td>
<td>400</td>
<td>ERR_INTERNAL</td>
<td>Internal error</td>
</tr>
</tbody></table>
<h2 id='websocket-termination-codes'>Websocket Termination Codes</h2>
<table><thead>
<tr>
<th>Code</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>1000</td>
<td>Normal disconnection by server, usually when the heartbeat isn&#39;t handled properly</td>
</tr>
<tr>
<td>1006</td>
<td>Abnormal disconnection</td>
</tr>
<tr>
<td>1013</td>
<td>Server restarting -- try again later</td>
</tr>
</tbody></table>
<h2 id='error-response-format'>Error Response Format</h2>
<p>Due to the asynchronous nature of websocket requests, a robust and consistent error response is crucial in order to match the response with the request.</p>

<p>To ensure API consistency for websocket error responses, if the <code>id</code> and <code>method</code> is omitted in the original request, <code>id</code> will have a value of <code>-1</code> and <code>method</code> will have a value of <code>ERROR</code>.</p>

<p>The original request will be returned as an escaped string in the <code>original</code> field.</p>
<h1 id='reference-and-market-data-api'>Reference and Market Data API</h1><h2 id='public-get-announcements'>public/get-announcements</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="w">
</span><span class="err">https://api.crypto.com/v</span><span class="mi">1</span><span class="err">/public/get-announcements?category=system&amp;product_type=Spot</span><span class="w">

</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-announcements"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"67ea25c534909545bfc81232"</span><span class="p">,</span><span class="w">
</span><span class="nl">"category"</span><span class="p">:</span><span class="w"> </span><span class="s2">"system"</span><span class="p">,</span><span class="w">
</span><span class="nl">"product_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Spot,Margin,Derivative,TradingArena,VIPProgramme,MMProgramme,Supercharger,TradingBot,Documents,DefiStaking,Staking,LiquidStaking,Affiliate,Referral,CROLockup,AccountManagement,OtcConvert,Transfer,ZeroFeeToken"</span><span class="p">,</span><span class="w">
</span><span class="nl">"announced_at"</span><span class="p">:</span><span class="w"> </span><span class="mi">1743379200000</span><span class="p">,</span><span class="w">
</span><span class="nl">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"No Otc, lending, broker, affiliate_dashboard"</span><span class="p">,</span><span class="w">
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;p&gt;test system&lt;/p&gt;"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"impacted_params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"spot_trading_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"derivative_trading_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BAU"</span><span class="p">,</span><span class="w">
</span><span class="nl">"margin_trading_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BAU"</span><span class="p">,</span><span class="w">
</span><span class="nl">"otc_trading_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"convert_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"staking_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trading_bot_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"crypto_wallet_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fiat_wallet_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"login_impacted"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PARTIAL"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1743426900000</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1743434100000</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Production endpoint: https://api.crypto.com/v1/public/get-announcements</p>

<p>This api fetches all announcements in <a href="https://crypto.com/"> Crypto.com </a> Exchange</p>
<h3 id='request-params'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>category</td>
<td>string</td>
<td>N</td>
<td>filter by category: list, delist, event, product, system</td>
</tr>
<tr>
<td>product_type</td>
<td>string</td>
<td>N</td>
<td>filter by product type. e.g. Spot, Derivative, OTC, Staking, TradingArena etc</td>
</tr>
</tbody></table>
<h3 id='response-attributes'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>string</td>
<td>announcement id</td>
</tr>
<tr>
<td>category</td>
<td>string</td>
<td>type of announcement</td>
</tr>
<tr>
<td>product_type</td>
<td>string</td>
<td>type of product</td>
</tr>
<tr>
<td>announced_at</td>
<td>string</td>
<td>announced timestamps</td>
</tr>
<tr>
<td>title</td>
<td>string</td>
<td>title of announcement</td>
</tr>
<tr>
<td>content</td>
<td>string</td>
<td>content of announcement</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>instrument name</td>
</tr>
<tr>
<td>impacted_params</td>
<td>map<String, String></td>
<td>impacted params</td>
</tr>
<tr>
<td>start_time</td>
<td>long</td>
<td>announcements start time timestamp</td>
</tr>
<tr>
<td>end_time</td>
<td>long</td>
<td>announcements end time timestamp</td>
</tr>
</tbody></table>
<h3 id='applies-to'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method'>REST Method</h3>
<p>GET</p>
<h2 id='public-get-risk-parameters'>public/get-risk-parameters</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-risk-parameters</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-risk-parameters"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"default_max_product_leverage_for_spot"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"default_max_product_leverage_for_perps"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"20.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"default_max_product_leverage_for_futures"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"20.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"default_unit_margin_rate"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.05"</span><span class="p">,</span><span class="w">
</span><span class="nl">"default_collateral_cap"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"-1.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_timestamp_ms"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1727853473520</span><span class="p">,</span><span class="w">
</span><span class="nl">"base_currency_config"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1INCH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"minimum_haircut"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"unit_margin_rate"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00050"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="w">
</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"AAVE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_cap_notional"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"3600000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"minimum_haircut"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_product_leverage_for_spot"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"5.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"unit_margin_rate"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.007"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_short_sell_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"600.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"500000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="w">

</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"ACA"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="w">
</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"ACH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"minimum_haircut"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"unit_margin_rate"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00015"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="w">

</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"AERGO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="w">
</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"AERO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="w">
</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"ZRO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"minimum_haircut"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"unit_margin_rate"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.004"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"500000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="w">
</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"ZRX"</span><span class="p">,</span><span class="w">
</span><span class="nl">"minimum_haircut"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"unit_margin_rate"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00040"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"100000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_order_notional_usd"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0"</span><span class="w">
</span><span class="p">}</span><span class="w"> </span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Provides information on risk parameter settings for <a href="https://crypto.com/exchange/document/margin-rules">Smart Cross Margin</a>.</p>
<h3 id='applies-to-2'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-2'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-2'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>default_max_product_leverage_for_spot</td>
<td>number</td>
<td>default max product leverage for margin trading unless specified in base_currency_config array</td>
</tr>
<tr>
<td>default_max_product_leverage_for_perps</td>
<td>number</td>
<td>default max product leverage for perpetuals unless specified in base_currency_config array</td>
</tr>
<tr>
<td>default_max_product_leverage_for_futures</td>
<td>number</td>
<td>default max product leverage for futures unless specified in base_currency_config array</td>
</tr>
<tr>
<td>default_unit_margin_rate</td>
<td>number</td>
<td>default additional margin rate / haircut rate for holding 1 unit of positions unless specified in base_currency_config array</td>
</tr>
<tr>
<td>default_collateral_cap</td>
<td>number</td>
<td>refer to specified collateral cap for each token in base_currency_config array. Field is omitted if the token is not eligible as collateral</td>
</tr>
<tr>
<td>update_timestamp_ms</td>
<td>number</td>
<td>Last update time</td>
</tr>
<tr>
<td><strong><em>base_currency_config</em></strong></td>
<td>array of string</td>
<td>specific risk parameters as shown below</td>
</tr>
</tbody></table>

<p><strong><em>base_currency_config</em></strong> is an array consisting of below fields for specific base tokens.</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>collateral_cap_notional</td>
<td>number</td>
<td>the maximum $notional that is counted towards the margin balance.<br> Any additional token balance would not contribute to the margin balance. Field is omitted if the token is not eligible as collateral</td>
</tr>
<tr>
<td>minimum_haircut</td>
<td>number</td>
<td>Minimum haircut rate. Field is omitted if the token is not eligible as collateral</td>
</tr>
<tr>
<td>max_product_leverage_for_spot</td>
<td>number</td>
<td>the max product leverage for margin trading on this token.</td>
</tr>
<tr>
<td>max_product_leverage_for_perps</td>
<td>number</td>
<td>the max product leverage for perpetuals on this base token</td>
</tr>
<tr>
<td>max_product_leverage_for_futures</td>
<td>number</td>
<td>the max product leverage for futures on this base token</td>
</tr>
<tr>
<td>unit_margin_rate</td>
<td>number</td>
<td>the additional margin rate / haircut rate for holding 1 unit of positions with this base token</td>
</tr>
<tr>
<td>max_short_sell_limit</td>
<td>number</td>
<td>max negative asset balance user can hold on the base token. If field is omitted means no short sell permitted on the token</td>
</tr>
<tr>
<td>daily_notional_limit</td>
<td>number</td>
<td>max spot order notional user can place in rolling 24-hour window. If field is omitted, user can trade unlimited on this base token</td>
</tr>
<tr>
<td>order_limit</td>
<td>number</td>
<td>max $notional per spot order on this base token</td>
</tr>
<tr>
<td>max_order_notional_usd</td>
<td>number</td>
<td>max $notional per spot order on this base token</td>
</tr>
<tr>
<td>min_order_notional_usd</td>
<td>number</td>
<td>min $notional per spot order on this base token</td>
</tr>
</tbody></table>
<h2 id='public-get-instruments'>public/get-instruments</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>

<p>N/A</p>

<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"public/get-instruments"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"symbol"</span><span class="p">:</span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"inst_type"</span><span class="p">:</span><span class="s2">"PERPETUAL_SWAP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"display_name"</span><span class="p">:</span><span class="s2">"BTCUSD Perpetual"</span><span class="p">,</span><span class="w">
</span><span class="nl">"base_ccy"</span><span class="p">:</span><span class="s2">"BTC"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quote_ccy"</span><span class="p">:</span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quote_decimals"</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity_decimals"</span><span class="p">:</span><span class="mi">4</span><span class="p">,</span><span class="w">
</span><span class="nl">"price_tick_size"</span><span class="p">:</span><span class="s2">"0.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"qty_tick_size"</span><span class="p">:</span><span class="s2">"0.0001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_leverage"</span><span class="p">:</span><span class="s2">"50"</span><span class="p">,</span><span class="w">
</span><span class="nl">"tradable"</span><span class="p">:</span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"expiry_timestamp_ms"</span><span class="p">:</span><span class="mi">1624012801123</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-INDEX"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Provides information on all supported instruments (e.g. BTCUSD-PERP).</p>
<h3 id='applies-to-3'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-3'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-3'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>symbol</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>inst_type</td>
<td>string</td>
<td>e.g. PERPETUAL_SWAP</td>
</tr>
<tr>
<td>display_name</td>
<td>string</td>
<td>e.g. BTCUSD Perpetual</td>
</tr>
<tr>
<td>base_ccy</td>
<td>string</td>
<td>Base currency, e.g. BTC</td>
</tr>
<tr>
<td>quote_ccy</td>
<td>string</td>
<td>Quote currency, e.g. USD</td>
</tr>
<tr>
<td>quote_decimals</td>
<td>number</td>
<td>Minimum decimal place for price field</td>
</tr>
<tr>
<td>quantity_decimals</td>
<td>number</td>
<td>Minimum decimal place for qty field</td>
</tr>
<tr>
<td>price_tick_size</td>
<td>string</td>
<td>Minimum price tick size</td>
</tr>
<tr>
<td>qty_tick_size</td>
<td>string</td>
<td>Minimum trading quantity / tick size</td>
</tr>
<tr>
<td>max_leverage</td>
<td>string</td>
<td>Max leverage of the product</td>
</tr>
<tr>
<td>tradable</td>
<td>boolean</td>
<td>True or false</td>
</tr>
<tr>
<td>expiry_timestamp_ms</td>
<td>number</td>
<td>Expiry timestamp in millisecond</td>
</tr>
<tr>
<td>underlying_symbol</td>
<td>string</td>
<td>Underlying symbol</td>
</tr>
</tbody></table>
<h2 id='public-get-book'>public/get-book</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-book?instrument_name=BTCUSD-PERP&amp;depth=</span><span class="mi">10</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"public/get-book"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"depth"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"asks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">[</span><span class="s2">"50126.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.400000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50130.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50136.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50137.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.800000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50142.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50148.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2.892900"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50154.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50160.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.133000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50166.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"3.090700"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50172.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">]</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"bids"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">[</span><span class="s2">"50113.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.400000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50113.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.051800"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50112.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.455300"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50106.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.174800"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50100.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.800000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50100.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.455300"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50097.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.048000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50097.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.148000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50096.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.399200"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50095.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.399200"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">]</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}],</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">

</span></code></pre></div>
<p>Fetches the public order book for a particular instrument and depth.</p>
<h3 id='request-params-2'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>depth</td>
<td>string</td>
<td>Y</td>
<td>Number of bids and asks to return (up to 50)</td>
</tr>
</tbody></table>
<h3 id='applies-to-4'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-4'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-4'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>depth</td>
<td>string</td>
<td>Number of bids and asks to return (up to 50)</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>bids</td>
<td>array</td>
<td>Bids array: [0] = Price, [1] = Quantity, [2] = Number of Orders</td>
</tr>
<tr>
<td>asks</td>
<td>array</td>
<td>Asks array: [0] = Price, [1] = Quantity, [2] = Number of Orders</td>
</tr>
</tbody></table>

<p><strong>Note</strong>: Known issue: Number of Orders currently returns 0</p>
<h2 id='public-get-candlestick'>public/get-candlestick</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-candlestick?instrument_name=BTCUSD-PERP&amp;timeframe=M</span><span class="mi">5</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-candlestick"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"interval"</span><span class="p">:</span><span class="w"> </span><span class="s2">"M5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"o"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50508.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Open</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"h"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50548.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">High</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"l"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50172.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Low</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"c"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50202.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Close</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"17.203200"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Volume</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613544000000</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Start</span><span class="w"> </span><span class="err">time</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Retrieves candlesticks (k-line data history) over a given period for an instrument (e.g. BTCUSD-PERP).</p>
<h3 id='request-params-3'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>timeframe</td>
<td>string</td>
<td>N</td>
<td>The <code>period</code> value as show below. Default is <code>M1</code>.</td>
</tr>
<tr>
<td>count</td>
<td>number</td>
<td>N</td>
<td>Default is 25</td>
</tr>
<tr>
<td>start_ts</td>
<td>number</td>
<td>N</td>
<td>Default timestamp is 1 day ago (Unix timestamp)</td>
</tr>
<tr>
<td>end_ts</td>
<td>number</td>
<td>N</td>
<td>Default timestamp is current time (Unix timestamp)</td>
</tr>
</tbody></table>

<p><code>period</code> can be:</p>

<ul>
<li><code>1m</code> : one minute. (Legacy format: <code>M1</code>)</li>
<li><code>5m</code> : five minutes. (Legacy format: <code>M5</code>)</li>
<li><code>15m</code> : 15 minutes. (Legacy format: <code>M15</code>)</li>
<li><code>30m</code>: 30 minutes. (Legacy format: <code>M30</code>)</li>
<li><code>1h</code> : one hour. (Legacy format: <code>H1</code>)</li>
<li><code>2h</code> : two hours. (Legacy format: <code>H2</code>)</li>
<li><code>4h</code> : 4 hours. (Legacy format: <code>H4</code>)</li>
<li><code>12h</code>: 12 hours. (Legacy format: <code>H12</code>)</li>
<li><code>1D</code> : one day. (Legacy format: <code>D1</code> and <code>1d</code>)</li>
<li><code>7D</code> : 1 week starting at 00:00 UTC each Monday</li>
<li><code>14D</code>: 2 week intervals starting at <em>Monday, Oct-28-2019, 00:00 UTC</em></li>
<li><code>1M</code> : 1 month starting at first day of each calendar month, 00:00 UTC</li>
</ul>

<p>Lagacy format is still supported until further notice.</p>
<h3 id='applies-to-5'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='response-attributes-5'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>interval</td>
<td>string</td>
<td>The period (e.g. M5)</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>t</td>
<td>long</td>
<td>Start time of candlestick (Unix timestamp)</td>
</tr>
<tr>
<td>o</td>
<td>number</td>
<td>Open</td>
</tr>
<tr>
<td>h</td>
<td>number</td>
<td>High</td>
</tr>
<tr>
<td>l</td>
<td>number</td>
<td>Low</td>
</tr>
<tr>
<td>c</td>
<td>number</td>
<td>Close</td>
</tr>
<tr>
<td>v</td>
<td>number</td>
<td>Volume</td>
</tr>
</tbody></table>
<h2 id='public-get-trades'>public/get-trades</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-trades?instrument_name=BTCUSD-PERP&amp;count=</span><span class="mi">5</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-trades"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"d"</span><span class="p">:</span><span class="w"> </span><span class="s2">"15281981878"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Trade</span><span class="w"> </span><span class="err">ID</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613547060925</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Trade</span><span class="w"> </span><span class="err">timestamp</span><span class="w"> </span><span class="err">milliseconds</span><span class="w">
</span><span class="nl">"tn"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613547060925523623"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Trade</span><span class="w"> </span><span class="err">timestamp</span><span class="w"> </span><span class="err">nanoseconds</span><span class="w">
</span><span class="nl">"q"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.181900"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Quantity</span><span class="w">
</span><span class="nl">"p"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50772.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Price</span><span class="w">
</span><span class="nl">"s"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELL"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Side</span><span class="w">
</span><span class="nl">"i"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Instrument</span><span class="w"> </span><span class="err">name</span><span class="w">
</span><span class="nl">"m"</span><span class="p">:</span><span class="w"> </span><span class="s2">"76423"</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Trade</span><span class="w"> </span><span class="err">match</span><span class="w"> </span><span class="err">ID</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches the public trades for a particular instrument.</p>
<h3 id='request-params-4'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>count</td>
<td>number</td>
<td>N</td>
<td>The maximum number of trades to be retrieved.<br />Default: 25<br />Max: 150</td>
</tr>
<tr>
<td>start_ts</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>).<br />Default: <code>end_time - 1 day</code>.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
<tr>
<td>end_ts</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>exclusive</code>)<br />Default: current system timestamp.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
</tbody></table>

<p><strong>Note</strong>: get-trades time window can only be up to 7 days for maximum.</p>
<h3 id='applies-to-6'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-5'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-6'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>d</td>
<td>string of number</td>
<td>Trade ID</td>
</tr>
<tr>
<td>t</td>
<td>number</td>
<td>Trade timestamp in milliseconds</td>
</tr>
<tr>
<td>tn</td>
<td>string of number</td>
<td>Trade timestamp in nanoseconds</td>
</tr>
<tr>
<td>q</td>
<td>number</td>
<td>Trade quantity</td>
</tr>
<tr>
<td>p</td>
<td>number</td>
<td>Trade price</td>
</tr>
<tr>
<td>s</td>
<td>string</td>
<td>Side (<code>BUY</code> or <code>SELL</code>). Side is the side of the taker order</td>
</tr>
<tr>
<td>i</td>
<td>string</td>
<td>Instrument name e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>m</td>
<td>string of number</td>
<td>Trade match ID</td>
</tr>
</tbody></table>
<h2 id='public-get-tickers'>public/get-tickers</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-tickers?instrument_name=BTCUSD-PERP</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-tickers"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"h"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51790.00"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Price</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">highest</span><span class="w"> </span><span class="err">trade</span><span class="w">
</span><span class="nl">"l"</span><span class="p">:</span><span class="w"> </span><span class="s2">"47895.50"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Price</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">lowest</span><span class="w"> </span><span class="err">trade</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">weren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">trades</span><span class="w">
</span><span class="nl">"a"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51174.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">price</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="err">latest</span><span class="w"> </span><span class="err">trade</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">weren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">trades</span><span class="w">
</span><span class="nl">"i"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Instrument</span><span class="w"> </span><span class="err">name</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"879.5024"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">total</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">traded</span><span class="w"> </span><span class="err">volume</span><span class="w">
</span><span class="nl">"vv"</span><span class="p">:</span><span class="w"> </span><span class="s2">"26370000.12"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">total</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">traded</span><span class="w"> </span><span class="err">volume</span><span class="w"> </span><span class="err">value</span><span class="w"> </span><span class="err">(in</span><span class="w"> </span><span class="err">USD)</span><span class="w">
</span><span class="nl">"oi"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345.12"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Open</span><span class="w"> </span><span class="err">interest</span><span class="w">
</span><span class="nl">"c"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.03955106"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="mi">24</span><span class="err">-hour</span><span class="w"> </span><span class="err">price</span><span class="w"> </span><span class="err">change</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">weren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">trades</span><span class="w">
</span><span class="nl">"b"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51170.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">current</span><span class="w"> </span><span class="err">best</span><span class="w"> </span><span class="err">bid</span><span class="w"> </span><span class="err">price</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">aren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">bids</span><span class="w">
</span><span class="nl">"k"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51180.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">current</span><span class="w"> </span><span class="err">best</span><span class="w"> </span><span class="err">ask</span><span class="w"> </span><span class="err">price</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">aren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">asks</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613580710768</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">published</span><span class="w"> </span><span class="err">timestamp</span><span class="w"> </span><span class="err">in</span><span class="w"> </span><span class="err">ms</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches the public tickers for all or a particular instrument.</p>
<h3 id='request-params-5'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
</tbody></table>
<h3 id='applies-to-7'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-6'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-7'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>h</td>
<td>string</td>
<td>Price of the 24h highest trade</td>
</tr>
<tr>
<td>l</td>
<td>string</td>
<td>Price of the 24h lowest trade, null if there weren&#39;t any trades</td>
</tr>
<tr>
<td>a</td>
<td>string</td>
<td>The price of the latest trade, null if there weren&#39;t any trades</td>
</tr>
<tr>
<td>i</td>
<td>string</td>
<td>Instrument name</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>The total 24h traded volum</td>
</tr>
<tr>
<td>vv</td>
<td>string</td>
<td>The total 24h traded volume value (in USD)</td>
</tr>
<tr>
<td>oi</td>
<td>string</td>
<td>The open interest</td>
</tr>
<tr>
<td>c</td>
<td>string</td>
<td>24-hour price change, null if there weren&#39;t any trades</td>
</tr>
<tr>
<td>b</td>
<td>string</td>
<td>The current best bid price, null if there aren&#39;t any bids</td>
</tr>
<tr>
<td>k</td>
<td>string</td>
<td>The current best ask price, null if there aren&#39;t any asks</td>
</tr>
<tr>
<td>t</td>
<td>number</td>
<td>The published timestamp in ms</td>
</tr>
</tbody></table>
<h2 id='public-get-valuations'>public/get-valuations</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-valuations?instrument_name=BTCUSD-INDEX&amp;valuation_type=index_price&amp;count=</span><span class="mi">1</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-valuations"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50776.73000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613547318000</span><span class="w">
</span><span class="p">}],</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-INDEX"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches certain valuation type data for a particular instrument.</p>
<h3 id='request-params-6'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTCUSD-INDEX</td>
</tr>
<tr>
<td>valuation_type</td>
<td>string</td>
<td>Y</td>
<td><b>List of available types:</b> <br> a. <code>index_price</code>: returns per minute data of underlying reference price of the instrument. <br>b. <code>mark_price</code>: returns per minute data of mark price of the instrument.<br>c. <code>funding_hist</code>: returns hourly data of the funding rate settled in past hourly settlement.<br>d. <code>funding_rate</code>: returns per minute data of current hourly funding rate that will settle at the end of each hour of current 4-hour interval.<br>e. <code>estimated_funding_rate</code>: returns per minute data of estimated funding rate for the next interval.<br></td>
</tr>
<tr>
<td>count</td>
<td>number</td>
<td>N</td>
<td>Default is 25</td>
</tr>
<tr>
<td>start_ts</td>
<td>number</td>
<td>N</td>
<td>Default timestamp is 30 days ago for <code>funding_hist</code>, and 1 day ago for other valuation_type (Unix timestamp)</td>
</tr>
<tr>
<td>end_ts</td>
<td>number</td>
<td>N</td>
<td>Default timestamp is current time (Unix timestamp)</td>
</tr>
</tbody></table>
<h3 id='applies-to-8'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-7'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-8'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-INDEX</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>v</td>
<td>string</td>
<td>Value</td>
</tr>
<tr>
<td>t</td>
<td>long</td>
<td>Timestamp</td>
</tr>
</tbody></table>
<h2 id='public-get-expired-settlement-price'>public/get-expired-settlement-price</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-expired-settlement-price?instrument_type=FUTURE&amp;page=</span><span class="mi">1</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-expired-settlement-price"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"i"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-210528m2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"x"</span><span class="p">:</span><span class="w"> </span><span class="mi">1622145600000</span><span class="p">,</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50776.73000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1622145540000</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"i"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-210528m3"</span><span class="p">,</span><span class="w">
</span><span class="nl">"x"</span><span class="p">:</span><span class="w"> </span><span class="mi">1622160000000</span><span class="p">,</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"38545.570000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1622159940000</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches settlement price of expired instruments.</p>
<h3 id='request-params-7'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_type</td>
<td>string</td>
<td>Y</td>
<td><code>FUTURE</code></td>
</tr>
<tr>
<td>page</td>
<td>number</td>
<td>N</td>
<td>Default is 1</td>
</tr>
</tbody></table>
<h3 id='applies-to-9'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-8'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-9'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>i</td>
<td>string</td>
<td>Instrument name</td>
</tr>
<tr>
<td>x</td>
<td>long</td>
<td>Expiry timestamp (millisecond)</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>Value</td>
</tr>
<tr>
<td>t</td>
<td>long</td>
<td>Timestamp</td>
</tr>
</tbody></table>
<h2 id='public-get-insurance'>public/get-insurance</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">https://</span><span class="p">{</span><span class="err">URL</span><span class="p">}</span><span class="err">/public/get-insurance?instrument_name=USD&amp;count=</span><span class="mi">1</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/get-insurance"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613539503965</span><span class="w">
</span><span class="p">}],</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches balance of Insurance Fund for a particular currency.</p>
<h3 id='request-params-8'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. USD</td>
</tr>
<tr>
<td>count</td>
<td>number</td>
<td>N</td>
<td>Default is 25</td>
</tr>
<tr>
<td>start_ts</td>
<td>number</td>
<td>N</td>
<td>Default timestamp is 1 day ago (Unix timestamp)</td>
</tr>
<tr>
<td>end_ts</td>
<td>number</td>
<td>N</td>
<td>Default timestamp is current time (Unix timestamp)</td>
</tr>
</tbody></table>
<h3 id='applies-to-10'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-9'>REST Method</h3>
<p>GET</p>
<h3 id='response-attributes-10'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. USD</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>v</td>
<td>string</td>
<td>Value</td>
</tr>
<tr>
<td>t</td>
<td>long</td>
<td>Timestamp</td>
</tr>
</tbody></table>
<h1 id='account-balance-and-position-api'>Account Balance and Position API</h1><h2 id='private-user-balance'>private/user-balance</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">11</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/user-balance"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1611022832613</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/user-balance"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"total_available_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4721.05898582"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_margin_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"7595.42571782"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2874.36673202"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_im"</span><span class="p">:</span><span class="w"> </span><span class="s2">"486.31273202"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2388.054"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1437.18336601"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"14517.54641301"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_cash_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"7890.00320721"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_collateral_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"7651.18811483"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-55.76239701"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_liquidating"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_effective_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.90401230"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3000000.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"used_position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"40674.69622001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_balances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"24422.72427884"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4776.107959969951"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4537.302561971453"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"24422.72427884"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3113.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3113.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3113.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3113.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USDT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19411607"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19389555414448"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.02"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.18904816529086801"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19411607"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DAI"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19387960"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.1938796"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"false"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.975"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.18903261000000002"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.1938796"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Returns the user&#39;s wallet balance.</p>
<h3 id='request-params-9'>Request Params</h3>
<p><strong>Note</strong>: You still need to pass in an empty <code>params</code> block like <code>params: {}</code> for API request consistency</p>
<h3 id='applies-to-11'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-10'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-11'>Response Attributes</h3>
<p>An array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Instrument name of the balance e.g. <code>USD</code></td>
</tr>
<tr>
<td>total_available_balance</td>
<td>string</td>
<td>Balance that user can open new order (Margin Balance - Initial Margin)</td>
</tr>
<tr>
<td>total_margin_balance</td>
<td>string</td>
<td>Positive cash balance on eligible collateral tokens + Negative balance on all tokens + Unrealised PnL - Fee reserves</td>
</tr>
<tr>
<td>total_initial_margin</td>
<td>string</td>
<td>Total margin requirement to support positions and all open orders IM and haircut from risk asset holdings <br> Total sum of total_position_im + total_haircut</td>
</tr>
<tr>
<td>total_position_im</td>
<td>string</td>
<td>initial margin requirement to support open positions and orders</td>
</tr>
<tr>
<td>total_haircut</td>
<td>string</td>
<td>the total haircut on eligible collateral token assets</td>
</tr>
<tr>
<td>total_maintenance_margin</td>
<td>string</td>
<td>Total maintenance margin requirement for all positions</td>
</tr>
<tr>
<td>total_position_cost</td>
<td>string</td>
<td>Position value in USD</td>
</tr>
<tr>
<td>total_cash_balance</td>
<td>string</td>
<td>Wallet Balance (Deposits - Withdrawals + Realized PnL - Fees)</td>
</tr>
<tr>
<td>total_collateral_value</td>
<td>string</td>
<td>Collateral Value</td>
</tr>
<tr>
<td>total_session_unrealized_pnl</td>
<td>string</td>
<td>Current unrealized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>total_session_realized_pnl</td>
<td>string</td>
<td>Current realized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>is_liquidating</td>
<td>boolean</td>
<td>Describes whether the account is under liquidation</td>
</tr>
<tr>
<td>total_effective_leverage</td>
<td>string</td>
<td>The actual leverage used (all open positions combined), i.e. position size / margin balance</td>
</tr>
<tr>
<td>position_limit</td>
<td>string</td>
<td>Maximum position size allowed (for all open positions combined)</td>
</tr>
<tr>
<td>used_position_limit</td>
<td>string</td>
<td>Combined position size of all open positions + order exposure on all instruments</td>
</tr>
<tr>
<td>position_balances</td>
<td>array</td>
<td>Collateral balances as shown below</td>
</tr>
</tbody></table>

<p><code>position_balances</code> is an array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Instrument name of the collateral e.g. <code>USD</code>, <code>CRO</code>, <code>USDT</code>, or <code>DAI</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity of the collateral</td>
</tr>
<tr>
<td>market_value</td>
<td>string</td>
<td>Market value of the collateral</td>
</tr>
<tr>
<td>collateral_eligible</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>haircut</td>
<td>string</td>
<td>Show haircut for eligible collateral token</td>
</tr>
<tr>
<td>collateral_amount</td>
<td>string</td>
<td>Collateral amount derived by market_value minus haircut</td>
</tr>
<tr>
<td>max_withdrawal_balance</td>
<td>string</td>
<td>Max withdrawal balance of the collateral</td>
</tr>
<tr>
<td>reserved_qty</td>
<td>string</td>
<td>Fund/balance in use, not available for new orders or additional trading activities.</td>
</tr>
</tbody></table>
<h2 id='private-user-balance-history'>private/user-balance-history</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">11</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/user-balance-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/user-balance-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1629478800000</span><span class="p">,</span><span class="w">
</span><span class="nl">"c"</span><span class="p">:</span><span class="w"> </span><span class="s2">"811.621851"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Returns the user&#39;s balance history. This call may temporarily have discrepancies with that shown on the GUI.</p>
<h3 id='request-params-10'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>timeframe</td>
<td>string</td>
<td>N</td>
<td><code>H1</code> means every hour, <code>D1</code> means every day. Omit for &#39;D1&#39;</td>
</tr>
<tr>
<td>end_time</td>
<td>number</td>
<td>N</td>
<td>Can be millisecond or nanosecond. Exclusive. If not provided, will be current time.</td>
</tr>
<tr>
<td>limit</td>
<td>int</td>
<td>N</td>
<td>If timeframe is <code>D1</code>, max <code>limit</code> will be 30 (days). If timeframe is <code>H1</code>, max <code>limit</code> will be 120 (hours).</td>
</tr>
</tbody></table>

<p><strong>Note</strong>: If you omit all parameters, you still need to pass in an empty <code>params</code> block like <code>params: {}</code> for API request consistency</p>
<h3 id='applies-to-12'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-11'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-12'>Response Attributes</h3>
<p>An array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>instrument name of the balance e.g. USD</td>
</tr>
<tr>
<td>t</td>
<td>number</td>
<td>timestamp</td>
</tr>
<tr>
<td>c</td>
<td>string</td>
<td>total cash balance</td>
</tr>
</tbody></table>
<h2 id='private-get-accounts'>private/get-accounts</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-accounts"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="nl">"page_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="nl">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-accounts"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"master_account"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"uuid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"243d3f39-b193-4eb9-1d60-e98f2fc17707"</span><span class="p">,</span><span class="w">
</span><span class="nl">"master_account_uuid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"291879ae-b769-4eb3-4d75-3366ebee7dd6"</span><span class="p">,</span><span class="w">
</span><span class="nl">"margin_account_uuid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"69c9ab41-5b95-4d75-b769-e45f2fc16507"</span><span class="p">,</span><span class="w">
</span><span class="nl">"enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"tradable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="50252335221033222920243f7e333f3d">[email&#160;protected]</a>"</span><span class="p">,</span><span class="w">
</span><span class="nl">"mobile_number"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"country_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"margin_access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DEFAULT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"derivatives_access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DISABLED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1620962543792</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1622019525960</span><span class="p">,</span><span class="w">
</span><span class="nl">"two_fa_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"kyc_level"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ADVANCED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"suspended"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"terminated"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"sub_account_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"uuid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"243d3f39-b193-4eb9-1d60-e98f2fc17707"</span><span class="p">,</span><span class="w">
</span><span class="nl">"master_account_uuid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"291879ae-b769-4eb3-4d75-3366ebee7dd6"</span><span class="p">,</span><span class="w">
</span><span class="nl">"margin_account_uuid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"69c9ab41-5b95-4d75-b769-e45f2fc16507"</span><span class="p">,</span><span class="w">
</span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Sub Account"</span><span class="p">,</span><span class="w">
</span><span class="nl">"enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"tradable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b0c5c3d5c2f0d3c2c9c0c4df9ed3dfdd">[email&#160;protected]</a>"</span><span class="p">,</span><span class="w">
</span><span class="nl">"mobile_number"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"country_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"margin_access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DEFAULT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"derivatives_access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DISABLED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1620962543792</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1622019525960</span><span class="p">,</span><span class="w">
</span><span class="nl">"two_fa_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"kyc_level"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ADVANCED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"suspended"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"terminated"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get Account and its Sub Accounts</p>
<h3 id='request-params-11'>Request Params</h3>
<p>By default, the <code>page_size</code> is <code>20</code> and <code>page</code> is <code>0</code> respectively.</p>

<p>It can be overided in the JSON request: i.e. &quot;page_size&quot;: 30, &quot;page&quot;: 2</p>

<p>Note: if using default setting, please ensure you keep <code>params: {}</code> for API request consistency.</p>
<h3 id='applies-to-13'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-12'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-13'>Response Attributes</h3>
<p>an object of <code>master_account</code>, with an array of <code>sub_account_list</code>, both consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>uuid</td>
<td>string</td>
<td>Sub account uuid</td>
</tr>
<tr>
<td>master_account_uuid</td>
<td>string</td>
<td>Master account uuid</td>
</tr>
<tr>
<td>margin_account_uuid</td>
<td>string</td>
<td>(optional) Margin account uuid</td>
</tr>
<tr>
<td>label</td>
<td>string</td>
<td>Sub account label</td>
</tr>
<tr>
<td>enabled</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>tradable</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>name</td>
<td>string</td>
<td>Name of sub account</td>
</tr>
<tr>
<td>email</td>
<td>string</td>
<td>Email of sub account</td>
</tr>
<tr>
<td>mobile_number</td>
<td>string</td>
<td>Mobile number of sub account</td>
</tr>
<tr>
<td>country_code</td>
<td>string</td>
<td>Country Code of sub account</td>
</tr>
<tr>
<td>address</td>
<td>string</td>
<td>Address of sub account</td>
</tr>
<tr>
<td>margin_access</td>
<td>string</td>
<td>DEFAULT or DISABLED</td>
</tr>
<tr>
<td>derivatives_access</td>
<td>string</td>
<td>DEFAULT or DISABLED</td>
</tr>
<tr>
<td>create_time</td>
<td>number</td>
<td>Creation timestamp (milliseconds since the Unix epoch)</td>
</tr>
<tr>
<td>update_time</td>
<td>number</td>
<td>Last update timestamp (milliseconds since the Unix epoch)</td>
</tr>
<tr>
<td>two_fa_enabled</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>kyc_level</td>
<td>string</td>
<td>Kyc Level</td>
</tr>
<tr>
<td>suspended</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>terminated</td>
<td>boolean</td>
<td>true or false</td>
</tr>
</tbody></table>
<h2 id='private-create-subaccount-transfer'>private/create-subaccount-transfer</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1234</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-subaccount-transfer"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345678-0000-0000-0000-000000000001"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Possible</span><span class="w"> </span><span class="err">value:</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="err">master</span><span class="w"> </span><span class="err">account</span><span class="w"> </span><span class="err">UUID</span><span class="p">,</span><span class="w"> </span><span class="err">or</span><span class="w"> </span><span class="err">a</span><span class="w"> </span><span class="err">sub-account</span><span class="w"> </span><span class="err">UUID.</span><span class="w">
</span><span class="nl">"to"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345678-0000-0000-0000-000000000002"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Possible</span><span class="w"> </span><span class="err">value:</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="err">master</span><span class="w"> </span><span class="err">account</span><span class="w"> </span><span class="err">UUID</span><span class="p">,</span><span class="w"> </span><span class="err">or</span><span class="w"> </span><span class="err">a</span><span class="w"> </span><span class="err">sub-account</span><span class="w"> </span><span class="err">UUID.</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"500"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">1234</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"private/create-subaccount-transfer"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Transfer between subaccounts (and master account).</p>
<h3 id='request-params-12'>Request params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>from</td>
<td>string</td>
<td>Y</td>
<td>Account UUID to be debited</td>
</tr>
<tr>
<td>to</td>
<td>string</td>
<td>Y</td>
<td>Account UUID to be credit</td>
</tr>
<tr>
<td>currency</td>
<td>string</td>
<td>Y</td>
<td>Currency symbol</td>
</tr>
<tr>
<td>amount</td>
<td>string</td>
<td>Y</td>
<td>Amount to transfer - must a be positive number</td>
</tr>
</tbody></table>
<h3 id='applies-to-14'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='response-attributes-14'>Response attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>code</td>
<td>number</td>
<td>0 for successful transfer (NO_ERROR) else the error code</td>
</tr>
</tbody></table>
<h2 id='private-get-subaccount-balances'>private/get-subaccount-balances</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-subaccount-balances"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-subaccount-balances"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="err">//</span><span class="w"> </span><span class="err">Sub</span><span class="w"> </span><span class="err">account</span><span class="w"> </span><span class="err">with</span><span class="w"> </span><span class="err">no</span><span class="w"> </span><span class="err">balance</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"a0d206a1-6b06-47c5-9cd3-8bc6ef0915c5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_available_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_margin_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_cash_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_collateral_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_effective_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3000000.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"used_position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_liquidating"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_balances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="err">//</span><span class="w"> </span><span class="err">Sub</span><span class="w"> </span><span class="err">account</span><span class="w"> </span><span class="err">with</span><span class="w"> </span><span class="err">balance</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"49786818-6ead-40c4-a008-ea6b0fa5cf96"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_available_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20823.62250000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_margin_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20823.62250000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_cash_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"21919.55000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_collateral_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20823.62250000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_effective_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3000000.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"used_position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_liquidating"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_balances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTC"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0000000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"21918.5500000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.5500000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"21918.0000000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0000000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.10000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.90000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"507d3f7d-37c3-4a09-9076-b83c2fcbb638"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_available_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20922.62250000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_margin_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20922.62250000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_cash_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"22018.55000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_collateral_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20922.62250000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_effective_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3000000.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"used_position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_liquidating"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_balances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTC"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0000000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"21918.5500000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.5500000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"21918.0000000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0000000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"99.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Returns the user&#39;s wallet balances of all sub-accounts.</p>
<h3 id='request-params-13'>Request Params</h3>
<p><strong>Note</strong>: You still need to pass in an empty <code>params</code> block like <code>params: {}</code> for API request consistency</p>
<h3 id='applies-to-15'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-13'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-15'>Response Attributes</h3>
<p>An array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account</td>
<td>string</td>
<td>Sub account ID</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Instrument name of the balance e.g. <code>USD</code></td>
</tr>
<tr>
<td>total_available_balance</td>
<td>string</td>
<td>Balance that user can open new order (Margin Balance - Initial Margin)</td>
</tr>
<tr>
<td>total_margin_balance</td>
<td>string</td>
<td>Positive cash balance on eligible collateral tokens + Negative balance on all tokens + Unrealised PnL - Fee reserves</td>
</tr>
<tr>
<td>total_initial_margin</td>
<td>string</td>
<td>Total margin requirement to support positions and all open orders IM and haircut from risk asset holdings</td>
</tr>
<tr>
<td>total_maintenance_margin</td>
<td>string</td>
<td>Total maintenance margin requirement for all positions</td>
</tr>
<tr>
<td>total_position_cost</td>
<td>string</td>
<td>Position value in USD</td>
</tr>
<tr>
<td>total_cash_balance</td>
<td>string</td>
<td>Wallet Balance (Deposits - Withdrawals + Realized PnL - Fees)</td>
</tr>
<tr>
<td>total_collateral_value</td>
<td>string</td>
<td>Collateral Value</td>
</tr>
<tr>
<td>total_session_unrealized_pnl</td>
<td>string</td>
<td>Current unrealized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>total_session_realized_pnl</td>
<td>string</td>
<td>Current realized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>is_liquidating</td>
<td>boolean</td>
<td>Describes whether the account is under liquidation</td>
</tr>
<tr>
<td>total_effective_leverage</td>
<td>string</td>
<td>The actual leverage used (all open positions combined), i.e. position size / margin balance</td>
</tr>
<tr>
<td>position_limit</td>
<td>string</td>
<td>Maximum position size allowed (for all open positions combined)</td>
</tr>
<tr>
<td>used_position_limit</td>
<td>string</td>
<td>Combined position size of all open positions + order exposure on all instruments</td>
</tr>
<tr>
<td>position_balances</td>
<td>array</td>
<td>Collateral balances as shown below</td>
</tr>
</tbody></table>

<p><code>position_balances</code> is an array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Instrument name of the collateral e.g. <code>USD</code>, <code>CRO</code>, <code>USDT</code>, or <code>DAI</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity of the collateral</td>
</tr>
<tr>
<td>market_value</td>
<td>string</td>
<td>Market value of the collateral</td>
</tr>
<tr>
<td>collateral_eligible</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>haircut</td>
<td>string</td>
<td>Show haircut for eligible collateral token</td>
</tr>
<tr>
<td>collateral_amount</td>
<td>string</td>
<td>Collateral amount derived by market_value minus haircut</td>
</tr>
<tr>
<td>max_withdrawal_balance</td>
<td>string</td>
<td>Max withdrawal balance of the collateral</td>
</tr>
</tbody></table>
<h2 id='private-get-positions'>private/get-positions</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-positions"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1611022832613</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-positions"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"858dbc8b-22fd-49fa-bff4-d342d98a8acb"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-0.1984"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-10159.573500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_position_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-497.743736"</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_pos_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-10159.352200"</span><span class="p">,</span><span class="w">
</span><span class="nl">"session_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.236145"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613552240770</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PERPETUAL_SWAP"</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Returns the user&#39;s position.</p>
<h3 id='request-params-14'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
</tbody></table>

<p><strong>Note</strong>: If you omit all parameters, you still need to pass in an empty <code>params</code> block like <code>params: {}</code> for API request consistency</p>
<h3 id='applies-to-16'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-14'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-16'>Response Attributes</h3>
<p>An array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>e.g. Perpetual Swap</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Position quantity</td>
</tr>
<tr>
<td>cost</td>
<td>string</td>
<td>Position cost or value in USD</td>
</tr>
<tr>
<td>open_position_pnl</td>
<td>string</td>
<td>Profit and loss for the open position</td>
</tr>
<tr>
<td>open_pos_cost</td>
<td>string</td>
<td>Open position cost</td>
</tr>
<tr>
<td>session_pnl</td>
<td>string</td>
<td>Profit and loss in the current trading session</td>
</tr>
<tr>
<td>update_timestamp_ms</td>
<td>number</td>
<td>Updated time (Unix timestamp)</td>
</tr>
</tbody></table>
<h1 id='trading-api'>Trading API</h1><h2 id='introduction-2'>Introduction</h2>
<p>History will be stored for recent 6 months record only. For records over 6 months, please contact our support team.</p>
<h2 id='private-create-order'>private/create-order</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1610905028000</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50000.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"c5f682ed-7108-4f1c-b755-972fcdca0f02"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"POST_ONLY"</span><span class="p">],</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="w"> </span><span class="s2">"FILL_OR_KILL"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"c5f682ed-7108-4f1c-b755-972fcdca0f02"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"18342311"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Creates a new BUY or SELL Order on the Exchange.</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check when the order is successfully created.</p>
<h3 id='request-params-15'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td>Y</td>
<td><code>BUY</code>, <code>SELL</code></td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>Y</td>
<td><code>LIMIT</code>, <code>MARKET</code>, <code>STOP_LOSS</code>, <code>STOP_LIMIT</code>, <code>TAKE_PROFIT</code>, <code>TAKE_PROFIT_LIMIT</code></td>
</tr>
<tr>
<td>price</td>
<td>string</td>
<td>Y</td>
<td>Price</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Y</td>
<td>Order Quantity</td>
</tr>
<tr>
<td>notional</td>
<td><a href="#request-format-2">number</a></td>
<td>Depends</td>
<td>For MARKET (BUY), STOP_LOSS (BUY), TAKE_PROFIT (BUY) orders only:<br>Amount to spend</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>N</td>
<td>Client Order ID (Maximum 36 characters)</td>
</tr>
<tr>
<td>exec_inst</td>
<td>array of string</td>
<td>N</td>
<td><code>POST_ONLY</code>,<code>SMART_POST_ONLY</code><br>Remarks: <code>POST_ONLY</code> and <code>SMART_POST_ONLY</code> cannot be coexisted in exec_inst</td>
</tr>
<tr>
<td>time_in_force</td>
<td>string</td>
<td>N</td>
<td><code>GOOD_TILL_CANCEL</code>, <code>IMMEDIATE_OR_CANCEL</code>, <code>FILL_OR_KILL</code><br />When <code>exec_inst</code> contains <code>POST_ONLY</code>, <code>time_in_force</code> can only be <code>GOOD_TILL_CANCEL</code></td>
</tr>
<tr>
<td>ref_price</td>
<td>string</td>
<td>N*</td>
<td>Trigger price required for <code>STOP_LOSS</code>, <code>STOP_LIMIT</code>, <code>TAKE_PROFIT</code>, <code>TAKE_PROFIT_LIMIT</code> order type</td>
</tr>
<tr>
<td>ref_price_type</td>
<td>string</td>
<td>N</td>
<td>which price to use for ref_price: <code>MARK_PRICE</code> (default), <code>INDEX_PRICE</code>, <code>LAST_PRICE</code></td>
</tr>
<tr>
<td>spot_margin</td>
<td>string</td>
<td>N</td>
<td><code>SPOT</code>: non-margin order, <code>MARGIN</code>: margin order</td>
</tr>
<tr>
<td>stp_scope</td>
<td>string</td>
<td>N</td>
<td>Optional Field <br><br> Possible Values <br> - M: Matches Master or Sub a/c <br>- S: Matches Sub a/c only <br><br>Note: orderbook-specific settings takes higher precedence.</td>
</tr>
<tr>
<td>stp_inst</td>
<td>string</td>
<td>N*</td>
<td>Mandatory if stp_scope is set.<br><br> Possible Values<br> - M: Cancel Maker<br> - T: Cancel Taker<br> - B: Cancel Both Maker and Taker</td>
</tr>
<tr>
<td>stp_id</td>
<td>string of number</td>
<td>N*</td>
<td>Optional Field<br><br>Possible Value: 0 to 32767<br><br>Default Value<br>- If stp_scope &amp; stp_inst are not specified, REJECT<br>- If stp_scope is specified, default value = 0.<br><br>Note: orderbook-specific settings takes higher precedence.</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>N</td>
<td>Specify the preferred fee token. <br>Valid Values:<br>[SPOT] Buy - Base/Quote token/USD/USDT/EUR <br>[SPOT] Sell - Quote token/USD/USDT/EUR <br> [DERIV] Buy/Sell - USD/USDT/EUR <br><br>Example:<br>If a client would like to BUY CRO/BTC, the default fee token is CRO, valid tokens are CRO/BTC/USD/USDT/EUR. <br>If a client would like to SELL CRO/BTC, the default fee token is BTC, valid tokens are BTC/USD/USDT/EUR. <br>If a client would like to BUY/SELL BTCUSD-PERP, the default fee token is USD, valid tokens are USD/USDT/EUR.<br><br> If a client has an insufficient balance in their preferred fee token, the system will switch to the default fee token.</td>
</tr>
</tbody></table>
<h3 id='applies-to-17'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-15'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-17'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Newly created order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>If a Client Order ID was provided in the request, otherwise, will be the <code>nonce</code> in the request. As nonce can be the same among orders, it is recommened to specify <code>client_oid</code>.</td>
</tr>
</tbody></table>
<h2 id='private-amend-order'>private/amend-order</h2>
<blockquote>
<p>Request Sample (amend by order_id)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">53</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/amend-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="err">$</span><span class="p">{</span><span class="err">api_key</span><span class="p">},</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="err">order_id</span><span class="p">,</span><span class="w">
</span><span class="nl">"new_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"82000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"new_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0002"</span><span class="p">,</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample (amend by order_id)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">53</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/amend-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"53"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"6530219466236720401"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample (amend by orig_client_id)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">55</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/amend-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="err">$</span><span class="p">{</span><span class="err">api_key</span><span class="p">},</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"orig_client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"53"</span><span class="p">,</span><span class="w">
</span><span class="nl">"new_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"83000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"new_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0001"</span><span class="p">,</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">

</span></code></pre></div>
<blockquote>
<p>Response Sample (amend by orig_client_id)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">55</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/amend-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"55"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"6530219466236720401"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Amend an existing order on the Exchange.</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check when the order is successfully created.</p>

<p>Please note that amend order is designed as a convenience function such that it performs cancel and then create behind the scene. The new order will lose queue priority, except if the amend is only to amend down order quantity.
For faster performance, it is recommended to use <code>private/cancel-order</code>, and then <code>private/create-order</code> instead.</p>
<h3 id='request-params-16'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>client_oid</td>
<td>string</td>
<td>N</td>
<td>Client Order ID (Maximum 36 characters)</td>
</tr>
<tr>
<td>Order_id</td>
<td>string of number</td>
<td>Depends</td>
<td>Optional Order ID <br> Either <code>order_id</code> or <code>orig_client_oid</code> must be present</td>
</tr>
<tr>
<td>orig_client_oid</td>
<td>string</td>
<td>Depends</td>
<td>Optional Original Client Order ID <br> Either <code>order_id</code> or <code>orig_client_oid</code> must be present <br> If both exist together, <code>order_id</code> will have higher priority</td>
</tr>
<tr>
<td>new_price</td>
<td>string</td>
<td>Y</td>
<td>The new amended price <br> If no change required, input original value</td>
</tr>
<tr>
<td>new_quantity</td>
<td>string</td>
<td>Y</td>
<td>The new amended quantity <br> If no change required, input original value</td>
</tr>
</tbody></table>

<p><br>
Remark: <br>
Either <code>new_price</code> or <code>new_quantity</code> must input a new value, otherwise request will be rejected.</p>
<h3 id='applies-to-18'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-16'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-18'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>client_oid</td>
<td>string</td>
<td>client order ID</td>
</tr>
<tr>
<td>order_id</td>
<td>string</td>
<td>order ID</td>
</tr>
</tbody></table>
<h2 id='private-cancel-order'>private/cancel-order</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1610905028000</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"18342311"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"NO_ERROR"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"c5f682ed-7108-4f1c-b755-972fcdca0f02"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"18342311"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">

</span></code></pre></div>
<p>Cancels an existing order on the Exchange (asynchronous).</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check when the order is successfully canceled.</p>
<h3 id='request-params-17'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>order_id</td>
<td>number or string of number</td>
<td>Depends</td>
<td>Optional Order ID <br> Either <code>order_id</code> or <code>client_oid</code> must be present <br> <code>string</code> format is highly recommended.</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Depends</td>
<td>Optional Client Order ID <br> Either <code>order_id</code> or <code>client_oid</code> must be present</td>
</tr>
</tbody></table>
<h3 id='applies-to-19'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-17'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-19'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
</tbody></table>
<h2 id='private-cancel-all-orders'>private/cancel-all-orders</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1611169184000</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-all-orders"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-all-orders"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Cancels all orders for a particular instrument/pair (asynchronous).</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check when the order is successfully canceled.</p>
<h3 id='request-params-18'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>e.g. BTCUSD-PERP. If not provided, the orders of ALL instruments will be canceled</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>N</td>
<td>e.g. <code>LIMIT</code>, <code>TRIGGER</code>, <code>ALL</code></td>
</tr>
</tbody></table>
<h3 id='applies-to-20'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-18'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-20'>Response Attributes</h3>
<p>No result block is returned. The code (0 = success) is the primary indicator that the request is queued.</p>
<h2 id='private-close-position'>private/close-position</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1610905028000</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/close-position"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"30000.0"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">

</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1610905028000</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/close-position"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"MARKET"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/close-position"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1684d6e4-2c55-64e1-52c3-3aa9febc3a23"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"15744"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Cancels position for a particular instrument/pair (asynchronous).</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check when the order is successfully canceled.</p>
<h3 id='request-params-19'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>Y</td>
<td><code>LIMIT</code> or <code>MARKET</code></td>
</tr>
<tr>
<td>price</td>
<td>string</td>
<td>Depends</td>
<td>For <code>LIMIT</code> orders only</td>
</tr>
</tbody></table>
<h3 id='applies-to-21'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-19'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-21'>Response Attributes</h3>
<p>The code (0 = success) is the primary indicator that the request is queued.</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
</tbody></table>
<h2 id='private-get-open-orders'>private/get-open-orders</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-open-orders"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-open-orders"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"19848525"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613571154900"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GOOD_TILL_CANCEL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BUY"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"500.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"maker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000250"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000400"</span><span class="p">,</span><span class="w">
</span><span class="nl">"avg_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_fee"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ACTIVE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_user_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fd797356-55db-48c2-a44d-157aabf702e8"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-17"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613575617173</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613575617173123456"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613575617173</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Gets all <strong>open</strong> orders for a particular instrument.</p>
<h3 id='request-params-20'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>e.g. BTCUSD-PERP. Omit for &#39;all&#39;</td>
</tr>
</tbody></table>
<h3 id='applies-to-22'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-20'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-22'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
<tr>
<td>order_type</td>
<td>string</td>
<td><code>MARKET</code>, <code>LIMIT</code>, <code>STOP_LOSS</code>, <code>STOP_LIMIT</code>, <code>TAKE_PROFIT</code>, <code>TAKE_PROFIT_LIMIT</code></td>
</tr>
<tr>
<td>time_in_force</td>
<td>string</td>
<td><br>- <code>GOOD_TILL_CANCEL</code> <br>- <code>IMMEDIATE_OR_CANCEL</code> <br>- <code>FILL_OR_KILL</code></td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td><code>BUY</code> or <code>SELL</code></td>
</tr>
<tr>
<td>exec_inst</td>
<td>array</td>
<td><br>- <code>POST_ONLY</code> <br>- <code>SMART_POST_ONLY</code> <br>- <code>LIQUIDATION</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity specified in the order</td>
</tr>
<tr>
<td>limit_price</td>
<td>string</td>
<td>Limit price specified in the order</td>
</tr>
<tr>
<td>order_value</td>
<td>string</td>
<td>Order value</td>
</tr>
<tr>
<td>maker_fee_rate</td>
<td>string</td>
<td>User&#39;s maker fee rate</td>
</tr>
<tr>
<td>taker_fee_rate</td>
<td>string</td>
<td>User&#39;s taker fee rate</td>
</tr>
<tr>
<td>avg_price</td>
<td>string</td>
<td>Average price</td>
</tr>
<tr>
<td>cumulative_quantity</td>
<td>string</td>
<td>Cumulative executed quantity</td>
</tr>
<tr>
<td>cumulative_value</td>
<td>string</td>
<td>Cumulative executed value</td>
</tr>
<tr>
<td>cumulative_fee</td>
<td>string</td>
<td>Cumulative executed fee</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Order status: <br>- <code>NEW</code> <br>- <code>PENDING</code> <br>- <code>ACTIVE</code></td>
</tr>
<tr>
<td>update_user_id</td>
<td>string</td>
<td>Updated user</td>
</tr>
<tr>
<td>order_date</td>
<td>string</td>
<td>Order creation date</td>
</tr>
<tr>
<td>create_time</td>
<td>number</td>
<td>Order creation timestamp</td>
</tr>
<tr>
<td>create_time_ns</td>
<td>string</td>
<td>Order creation timestamp (nanosecond)</td>
</tr>
<tr>
<td>update_time</td>
<td>number</td>
<td>Order update timestamp</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>Currency used for the fees</td>
</tr>
</tbody></table>

<p>Note: To detect a &#39;partial filled&#39; status, look for <code>status</code> as <code>ACTIVE</code> and <code>cumulative_quantity</code> &gt; 0.</p>

<h2 id='private-get-order-detail'>private/get-order-detail</h2>

<blockquote>
<p>Request Sample</p>
</blockquote>

<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-order-detail"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"19848525"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-order-detail"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"19848525"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613571154900"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GOOD_TILL_CANCEL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BUY"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"500.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"maker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000250"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000400"</span><span class="p">,</span><span class="w">
</span><span class="nl">"avg_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_fee"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ACTIVE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_user_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fd797356-55db-48c2-a44d-157aabf702e8"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-17"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reason"</span><span class="p">:</span><span class="w"> </span><span class="mi">43012</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613575617173</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613575617173123456"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613575617173</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div><h3 id='request-params'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>order_id</td>
<td>number or string of number</td>
<td>N</td>
<td>Order ID. <code>string</code> format is highly recommended, especially for JavaScript client. If not provided, <code>client_oid</code> must be specified.</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>N</td>
<td>Client Order ID. If not provided, <code>order_id</code> must be specified.</td>
</tr>
</tbody></table>

<p>Note: Either <code>order_id</code> or <code>client_oid</code> must be specified.</p>
<h3 id='applies-to'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
<tr>
<td>order_type</td>
<td>string</td>
<td><code>MARKET</code>, <code>LIMIT</code>, <code>STOP_LOSS</code>, <code>STOP_LIMIT</code>, <code>TAKE_PROFIT</code>, <code>TAKE_PROFIT_LIMIT</code></td>
</tr>
<tr>
<td>time_in_force</td>
<td>string</td>
<td><br>- <code>GOOD_TILL_CANCEL</code> <br>- <code>IMMEDIATE_OR_CANCEL</code> <br>- <code>FILL_OR_KILL</code></td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td><code>BUY</code> or <code>SELL</code></td>
</tr>
<tr>
<td>exec_inst</td>
<td>array</td>
<td><br>- <code>POST_ONLY</code> <br>- <code>LIQUIDATION</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity specified in the order</td>
</tr>
<tr>
<td>limit_price</td>
<td>string</td>
<td>Limit price specified in the order</td>
</tr>
<tr>
<td>order_value</td>
<td>string</td>
<td>Order value</td>
</tr>
<tr>
<td>maker_fee_rate</td>
<td>string</td>
<td>User&#39;s maker fee rate</td>
</tr>
<tr>
<td>taker_fee_rate</td>
<td>string</td>
<td>User&#39;s taker fee rate</td>
</tr>
<tr>
<td>avg_price</td>
<td>string</td>
<td>Average price</td>
</tr>
<tr>
<td>cumulative_quantity</td>
<td>string</td>
<td>Cumulative executed quantity</td>
</tr>
<tr>
<td>cumulative_value</td>
<td>string</td>
<td>Cumulative executed value</td>
</tr>
<tr>
<td>cumulative_fee</td>
<td>string</td>
<td>Cumulative executed fee</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Order status: <br>- <code>REJECTED</code> <br>- <code>CANCELED</code> <br>- <code>FILLED</code> <br>- <code>EXPIRED</code></td>
</tr>
<tr>
<td>update_user_id</td>
<td>string</td>
<td>Updated user</td>
</tr>
<tr>
<td>order_date</td>
<td>string</td>
<td>Order creation date</td>
</tr>
<tr>
<td>create_time</td>
<td>number</td>
<td>Order creation timestamp</td>
</tr>
<tr>
<td>create_time_ns</td>
<td>string</td>
<td>Order creation timestamp (nanosecond)</td>
</tr>
<tr>
<td>update_time</td>
<td>number</td>
<td>Order update timestamp</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>Currency used for the fees</td>
</tr>
<tr>
<td>reason</td>
<td>number</td>
<td>Rejection reason code. See <a href="#response-and-reason-codes">Order Rejection Reason</a></td>
</tr>
</tbody></table>


<div class='note'>
</div>
<h2 id='private-change-account-leverage'>private/change-account-leverage</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/change-account-leverage"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"leverage"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/change-account-leverage"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Changes the maximum leverage used by the account. Please note, each instrument has its own maximum leverage.
Whichever leverage (account or instrument) is lower will be used.</p>
<h3 id='request-params-21'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Y</td>
<td>account ID to change the leverage. Must be currently the logged user&#39;s account</td>
</tr>
<tr>
<td>leverage</td>
<td>number</td>
<td>Y</td>
<td>maximum leverage to be used for the account. Valid values are between 1-100 (inclusive)</td>
</tr>
</tbody></table>
<h3 id='applies-to-23'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-21'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-23'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>code</td>
<td>number</td>
<td>error code or 0 if no error</td>
</tr>
<tr>
<td>message</td>
<td>string</td>
<td>text description of the error code if non-zero code returned</td>
</tr>
</tbody></table>
<h2 id='private-change-account-settings'>private/change-account-settings</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">696</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/change-account-settings"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"00000009-1111-1111-1111-000000000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"stp_scope"</span><span class="p">:</span><span class="w"> </span><span class="s2">"S"</span><span class="p">,</span><span class="w">
</span><span class="nl">"stp_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"stp_inst"</span><span class="p">:</span><span class="w"> </span><span class="s2">"M"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1721989111722</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">696</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/change-account-settings"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Change the account STP settings.</p>
<h3 id='request-params-22'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>stp_scope</td>
<td>string</td>
<td>N</td>
<td>Optional Field<br> Possible Values <br> M: Matches Master or Sub a/c <br>S: Matches Sub a/c only</td>
</tr>
<tr>
<td>stp_inst</td>
<td>number</td>
<td>N</td>
<td>Mandatory if stp_scope is set. <br>Possible Values<br>M: Cancel Maker<br>T: Cancel Taker<br>B: Cancel Both Maker and Taker</td>
</tr>
<tr>
<td>stp_id</td>
<td>string of number</td>
<td>N</td>
<td>Optional Field: <br>Possible Value: 0 to 32767<br>Default Value<br>If stp_scope &amp; stp_inst are not specified, REJECT<br>If stp_scope is specified, default value = 0.</td>
</tr>
<tr>
<td>leverage</td>
<td>number</td>
<td>N</td>
<td>Maximum leverage user intends to set for the account. Valid values are between 1-50 (inclusive). When account effective leverage exceeds this, further risk increasing orders will be rejected</td>
</tr>
</tbody></table>
<h3 id='response-attributes-24'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>code</td>
<td>number</td>
<td>0 for successful changes</td>
</tr>
</tbody></table>
<h3 id='applies-to-24'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-22'>REST Method</h3>
<p>POST</p>
<h2 id='private-get-account-settings'>private/get-account-settings</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">697</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-account-settings"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"00000009-1111-1111-1111-000000000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1721989202781</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">697</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-account-settings"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"leverage"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w">
</span><span class="nl">"stp_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w">
</span><span class="nl">"stp_scope"</span><span class="p">:</span><span class="w"> </span><span class="s2">"S"</span><span class="p">,</span><span class="w">
</span><span class="nl">"stp_inst"</span><span class="p">:</span><span class="w"> </span><span class="s2">"M"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get the STP account settings.</p>
<h3 id='request-params-23'>Request Params</h3>
<p>N/A</p>
<h3 id='response-attributes-25'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>code</td>
<td>number</td>
<td>0 for successful changes</td>
</tr>
<tr>
<td>result -&gt; leverage</td>
<td>number</td>
<td>The max leverage user set on the account. When account effective leverage exceeds this, further risk increasing orders will be rejected</td>
</tr>
<tr>
<td>result -&gt; stp_id</td>
<td>number</td>
<td>Optional Field<br><br>Possible Value: 0 to 32767<br><br>Default Value<br>- If stp_scope &amp; stp_inst are not specified, REJECT<br>- If stp_scope is specified, default value = 0.<br><br>Note: orderbook-specific settings takes higher precedence.</td>
</tr>
<tr>
<td>result -&gt; stp_scope</td>
<td>string</td>
<td>Optional Field <br><br> Possible Values <br> - M: Matches Master or Sub a/c <br>- S: Matches Sub a/c only <br><br>Note: orderbook-specific settings takes higher precedence.</td>
</tr>
<tr>
<td>result -&gt; stp_inst</td>
<td>string</td>
<td>Possible Values <br> - M: Cancel Maker <br> - T: Cancel Taker <br> - B: Cancel Both Maker and Taker</td>
</tr>
</tbody></table>
<h3 id='applies-to-25'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-23'>REST Method</h3>
<p>POST</p>
<h2 id='private-get-fee-rate'>private/get-fee-rate</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/private/get-fee-rate"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1721989202781</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/private/get-fee-rate"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"spot_tier"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="p">,</span><span class="w">
</span><span class="nl">"deriv_tier"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="p">,</span><span class="w">
</span><span class="nl">"effective_spot_maker_rate_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"6.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"effective_spot_taker_rate_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"6.9"</span><span class="p">,</span><span class="w">
</span><span class="nl">"effective_deriv_maker_rate_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"effective_deriv_taker_rate_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get fee rates for user’s account.</p>
<h3 id='request-params-24'>Request Params</h3>
<p>N/A</p>
<h3 id='response-attributes-26'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>spot_tier</td>
<td>string</td>
<td>Y</td>
<td>30day spot trading volume tier</td>
</tr>
<tr>
<td>deriv_tier</td>
<td>string</td>
<td>Y</td>
<td>30day deriv trading volume tier</td>
</tr>
<tr>
<td>effective_spot_maker_rate_bps</td>
<td>string</td>
<td>Y</td>
<td>30day spot maker rate in bps</td>
</tr>
<tr>
<td>effective_spot_taker_rate_bps</td>
<td>string</td>
<td>Y</td>
<td>30day spot taker rate in bps</td>
</tr>
<tr>
<td>effective_deriv_maker_rate_bps</td>
<td>string</td>
<td>Y</td>
<td>30day deriv maker rate in bps</td>
</tr>
<tr>
<td>effective_deriv_taker_rate_bps</td>
<td>string</td>
<td>Y</td>
<td>30day deriv taker rate in bps</td>
</tr>
</tbody></table>
<h3 id='applies-to-26'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-24'>REST Method</h3>
<p>POST</p>
<h2 id='private-get-instrument-fee-rate'>private/get-instrument-fee-rate</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1610905028000</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-instrument-fee-rate"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTC_USD"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-instrument-fee-rate"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTC_USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"effective_maker_rate_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"6.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"effective_taker_rate_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"6.9"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get the instrument fee rate.</p>
<h3 id='request-params-25'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTC_USD, BTCUSD-PERP</td>
</tr>
</tbody></table>
<h3 id='response-attributes-27'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g. BTC_USD</td>
</tr>
<tr>
<td>effective_maker_rate_bps</td>
<td>string</td>
<td>Y</td>
<td>maker rate in bps</td>
</tr>
<tr>
<td>effective_taker_rate_bps</td>
<td>string</td>
<td>Y</td>
<td>taker rate in bps</td>
</tr>
</tbody></table>
<h3 id='applies-to-27'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-25'>REST Method</h3>
<p>POST</p>
<h1 id='advanced-order-management-api'>Advanced Order Management API</h1><h2 id='private-create-order-conditional-order'>private/create-order (Conditional Order)</h2>
<p><a href="https://help.crypto.com/en/articles/4453247-stop-loss-order-and-take-profit-order">Conditional Orders</a> automatically place a mark or
limit order when the mark price reaches a trigger price specified by the user. If the mark price reaches or exceeds the trigger price,
the Stop-Loss/Take-Profit order will be converted to a live order and placed in the order book. If the mark price does not reach the
trigger price, the Stop-Loss/Take-Profit order will remain active until it is canceled or triggered.</p>

<p>See <a href="#private-create-order">private/create-order</a> and the <code>type</code> parameter for more information.</p>

<h2 id='private-create-order-list-list'>private/create-order-list (LIST)</h2>

<blockquote>
<p>Request Sample</p>
</blockquote>

<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Create</span><span class="w"> </span><span class="err">List</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">Orders</span><span class="w"> </span><span class="err">example</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">6573</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxxxxxxxxxx"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"contingency_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIST"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO_USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="p">,</span><span class="w">
</span><span class="nl">"price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.12"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg1"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO_USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20"</span><span class="p">,</span><span class="w">
</span><span class="nl">"price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.122"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg2"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1750385416548</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxxxxxxx"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Create</span><span class="w"> </span><span class="err">List</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">Orders</span><span class="w"> </span><span class="err">-</span><span class="w"> </span><span class="err">All</span><span class="w"> </span><span class="err">ok</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">6573</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"5755600460443882762"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"5755600460443882763"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div><div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Create</span><span class="w"> </span><span class="err">List</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">Orders</span><span class="w"> </span><span class="err">-</span><span class="w"> </span><span class="err">Some</span><span class="w"> </span><span class="err">rejected</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="err">xxxxx</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">306</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg_111"</span><span class="p">,</span><span class="w">
</span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"INSUFFICIENT_AVAILABLE_BALANCE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxxx"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">204</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg_22"</span><span class="p">,</span><span class="w">
</span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DUPLICATE_CLORDID"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxxx"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Create a list of orders on the Exchange.</p>

<p><code>contingency_type</code> must be <code>LIST</code>, for list of orders creation.</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check if the orders are successfully created.</p>
<h3 id='request-params'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>contingency_type</td>
<td>string</td>
<td>Y</td>
<td>LIST</td>
</tr>
<tr>
<td>order_list</td>
<td>array of orders</td>
<td>Y</td>
<td><code>LIST</code>: 1-10 orders</td>
</tr>
</tbody></table>

<p>Content of each order in <code>order_list</code></p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>e.g., ETH_CRO, BTC_USDT</td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td>Y</td>
<td>BUY, SELL</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>Y</td>
<td>LIMIT, MARKET, STOP_LOSS, STOP_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT</td>
</tr>
<tr>
<td>price</td>
<td>number</td>
<td>Depends</td>
<td>For LIMIT and STOP_LIMIT orders only:<br>Unit price</td>
</tr>
<tr>
<td>quantity</td>
<td>number</td>
<td>Depends</td>
<td>For LIMIT Orders, MARKET, STOP_LOSS, TAKE_PROFIT orders only:<br>Order Quantity to be Sold</td>
</tr>
<tr>
<td>notional</td>
<td><a href="#request-format-2">number</a></td>
<td>Depends</td>
<td>For MARKET (BUY), STOP_LOSS (BUY), TAKE_PROFIT (BUY) orders only:<br>Amount to spend</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>N</td>
<td>Optional Client order ID (Maximum 36 characters)</td>
</tr>
<tr>
<td>time_in_force</td>
<td>string</td>
<td>N</td>
<td>(Limit Orders Only)<br>Options are:<br>- <code>GOOD_TILL_CANCEL</code> (Default if unspecified)<br>- <code>FILL_OR_KILL</code><br>- <code>IMMEDIATE_OR_CANCEL</code></td>
</tr>
<tr>
<td>exec_inst</td>
<td>array</td>
<td>N</td>
<td>(Limit Orders Only)<br>Options are:<br>- <code>POST_ONLY</code><br>- Or leave empty <br>- <code>SMART_POST_ONLY</code> <br>Remarks: <code>POST_ONLY</code>and <code>SMART_POST_ONLY</code> cannot be coexisted in exec_inst</td>
</tr>
<tr>
<td>trigger_price</td>
<td>number</td>
<td>N</td>
<td>Used with STOP_LOSS, STOP_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.<br>Dictates when order will be triggered</td>
</tr>
<tr>
<td>stp_scope</td>
<td>string</td>
<td>N</td>
<td>Optional Field <br><br> Possible Values <br> - M: Matches Master or Sub a/c <br>- S: Matches Sub a/c only <br><br>Note: orderbook-specific settings takes higher precedence.</td>
</tr>
<tr>
<td>stp_inst</td>
<td>string</td>
<td>N*</td>
<td>Mandatory if stp_scope is set. <br><br> Possible Values<br> - M: Cancel Maker<br> - T: Cancel Taker<br> - B: Cancel Both Maker and Taker</td>
</tr>
<tr>
<td>stp_id</td>
<td>string of number</td>
<td>N*</td>
<td>Optional Field<br><br>Possible Value: 0 to 32767<br><br>Default Value<br>- If stp_scope &amp; stp_inst are not specified, REJECT<br>- If stp_scope is specified, default value = 0.<br><br>Note: orderbook-specific settings takes higher precedence.</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>N</td>
<td>Specify the preferred fee token. <br>Valid Values:<br>[SPOT] Buy - Base/Quote CCY/USD/USDT <br>[SPOT] Sell - Quote CCY/USD/USDT <br> [DERIV] Buy/Sell - USD/USDT <br><br>Example:<br>If a client would like to BUY CRO/BTC, the default fee token is CRO, valid currencies are CRO/BTC/USD/USDT. <br>If a client would like to SELL CRO/BTC, the default fee token is BTC, valid currencies are BTC/USD/USDT. <br>If a client would like to BUY/SELL BTCUSD-PERP, the default fee token is USD, valid currencies are USD/USDT. <br> <br> If a client has an insufficient balance in their preferred fee token, the system will switch to the default fee token.</td>
</tr>
</tbody></table>

<p><br><strong>Here are the mandatory parameters based on order <code>type</code>:</strong></p>

<table><thead>
<tr>
<th>Type</th>
<th>Side</th>
<th>Additional Mandatory Parameters</th>
</tr>
</thead><tbody>
<tr>
<td>LIMIT</td>
<td>Both</td>
<td>quantity, price</td>
</tr>
<tr>
<td>MARKET</td>
<td>BUY</td>
<td>notional or quantity, mutually exclusive</td>
</tr>
<tr>
<td>MARKET</td>
<td>SELL</td>
<td>quantity</td>
</tr>
<tr>
<td>STOP_LIMIT</td>
<td>Both</td>
<td>price, quantity, trigger_price</td>
</tr>
<tr>
<td>TAKE_PROFIT_LIMIT</td>
<td>Both</td>
<td>price, quantity, trigger_price</td>
</tr>
<tr>
<td>STOP_LOSS</td>
<td>BUY</td>
<td>notional, trigger_price</td>
</tr>
<tr>
<td>STOP_LOSS</td>
<td>SELL</td>
<td>quantity, trigger_price</td>
</tr>
<tr>
<td>TAKE_PROFIT</td>
<td>BUY</td>
<td>notional, trigger_price</td>
</tr>
<tr>
<td>TAKE_PROFIT</td>
<td>SELL</td>
<td>quantity, trigger_price</td>
</tr>
</tbody></table>

<p><br><strong>Contingency Type:</strong></p>

<table><thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>LIST</td>
<td>Create a list of orders</td>
</tr>
</tbody></table>

<p><br><strong>Helpful information:</strong></p>

<ul>
<li><code>STOP_LIMIT</code> and <code>TAKE_PROFIT_LIMIT</code> will execute a LIMIT order when the trigger_price is reached.</li>
<li><code>STOP_LOSS</code> and <code>TAKE_PROFIT</code> will execute a MARKET order when the trigger_price is reached.</li>
</ul>

<p><br><strong>To create trigger orders against market price:</strong></p>

<ul>
<li><code>trigger_price</code> below market price: SELL <code>STOP_LOSS</code> and <code>STOP_LIMIT</code>, BUY <code>TAKE_PROFIT</code> and <code>TAKE_PROFIT_LIMIT</code></li>
<li><code>trigger_price</code> above market price: BUY <code>STOP_LOSS</code> and <code>STOP_LIMIT</code>, SELL <code>TAKE_PROFIT</code> and <code>TAKE_PROFIT_LIMIT</code></li>
</ul>
<h3 id='applies-to'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>code</td>
<td>number</td>
<td>0 if success</td>
</tr>
<tr>
<td>index</td>
<td>number</td>
<td>The index of corresponding order request (Start from 0)</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>(Optional) if a Client order ID was provided in the request. (Maximum 36 characters)</td>
</tr>
<tr>
<td>message</td>
<td>string</td>
<td>(Optional) For server or error messages</td>
</tr>
<tr>
<td>order_id</td>
<td>number</td>
<td>Newly created order ID</td>
</tr>
</tbody></table>




<h2 id='private-cancel-order-list-list'>private/cancel-order-list (LIST)</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Cancel</span><span class="w"> </span><span class="err">List</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">Orders</span><span class="w"> </span><span class="err">example</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">6575</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxxxxxxxx"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"contingency_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIST"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO_USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg1"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO_USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_leg2"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1750389124417</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxxxxxxx"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Cancel</span><span class="w"> </span><span class="err">List</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">Orders</span><span class="w"> </span><span class="err">-</span><span class="w"> </span><span class="err">All</span><span class="w"> </span><span class="err">ok</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">6575</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">

</span><span class="err">//</span><span class="w"> </span><span class="err">Cancel</span><span class="w"> </span><span class="err">List</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">Orders</span><span class="w"> </span><span class="err">-</span><span class="w"> </span><span class="err">Error</span><span class="w"> </span><span class="err">encountered</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">6576</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">212</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"INVALID_ORDERID"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">212</span><span class="p">,</span><span class="w">
</span><span class="nl">"index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"INVALID_ORDERID"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Cancel a list of orders on the Exchange.</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check when each of the orders is successfully cancelled.</p>
<h3 id='request-params-list-of-orders'>Request Params (List of Orders)</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>order_list</td>
<td>array of orders</td>
<td>Y</td>
<td>For non contingency orders, A list of orders to be cancelled</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>Instrument name of contingency order, e.g., ETH_CRO, BTC_USDT</td>
</tr>
<tr>
<td>contingency_type</td>
<td>string</td>
<td>Y</td>
<td>Must be value &quot;LIST&quot;</td>
</tr>
</tbody></table>

<p>Content of each order in <code>order_list</code></p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>instrument_name, e.g., ETH_CRO, BTC_USDT</td>
</tr>
<tr>
<td>order_id</td>
<td>string</td>
<td>Y</td>
<td>Order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>N</td>
<td>Optional Client order ID (Maximum 36 characters)</td>
</tr>
</tbody></table>
<h3 id='applies-to'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>code</td>
<td>number</td>
<td>0 if success</td>
</tr>
<tr>
<td>index</td>
<td>number</td>
<td>The index of corresponding order request (Start from 0)</td>
</tr>
<tr>
<td>message</td>
<td>string</td>
<td>(Optional) For server or error messages</td>
</tr>
</tbody></table>


<div class='note'>
</div>
<h2 id='private-create-order-list-oco'>private/create-order-list (OCO)</h2>
<blockquote>
<p>Request Example</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"private/create-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">123456789</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="mi">123456789000</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"contingency_type"</span><span class="p">:</span><span class="s2">"OCO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_list"</span><span class="p">:[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="s2">"0.1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"price"</span><span class="p">:</span><span class="s2">"23000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="s2">"SELL"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="s2">"0.1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"STOP_LOSS"</span><span class="p">,</span><span class="w">
</span><span class="nl">"ref_price"</span><span class="p">:</span><span class="s2">"19000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="s2">"SELL"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Example</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1661331443</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"list_id"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">6498090546073120100</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Creates a One-Cancel-the-Other (OCO) order on the Exchange.</p>

<p><a href="https://help.crypto.com/en/articles/5807203-one-cancels-the-other-oco-orders">OCO Order</a> allows users to place two orders at the same time.
Users are able to place a limit order with a stop order, and only one of them will be executed. When either one of the above orders is executed,
the other is automatically canceled. This allows users to take a profit while minimizing potential loss. The OCO order type is available for Spot
trading pairs and Futures and Perpetual contracts only.</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.
The <code>user.order</code> subscription can be used to check if the orders are successfully created.</p>
<h3 id='request-params-26'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>contingency_type</td>
<td>string</td>
<td>Y</td>
<td><code>OCO</code><br/></td>
</tr>
<tr>
<td>order_list</td>
<td>array of orders</td>
<td>Y</td>
<td>Exactly 2 orders</td>
</tr>
</tbody></table>

<p>For the content of each order in <code>order_list</code>, please refer to <a href="#private-create-order"><code>private/create-order</code></a> for details.</p>
<h3 id='applies-to-28'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-26'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-28'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>list_id</td>
<td>number</td>
<td>List ID</td>
</tr>
</tbody></table>
<h2 id='private-cancel-order-list-oco'>private/cancel-order-list (OCO)</h2>
<blockquote>
<p>Request Example</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"private/cancel-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">1234</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="mi">123456789000</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"list_id"</span><span class="p">:</span><span class="s2">"4421958062479290999"</span><span class="p">,</span><span class="w">
</span><span class="nl">"contingency_type"</span><span class="p">:</span><span class="s2">"OCO"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Example</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">1661328073</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"private/cancel-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Cancel a contingency order on the Exchange.</p>

<p>This call is asynchronous, so the response is simply a confirmation of the request.</p>

<p>The <code>user.order</code> subscription can be used to check when each of the orders is successfully cancelled.</p>
<h3 id='request-params-27'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>contingency_type</td>
<td>string</td>
<td>Y</td>
<td><code>OCO</code></td>
</tr>
<tr>
<td>list_id</td>
<td>string</td>
<td>Y</td>
<td>List ID</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>Instrument Name</td>
</tr>
</tbody></table>
<h3 id='applies-to-29'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-27'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-29'>Response Attributes</h3>
<p>No result block is returned. The code (0 = success) is the primary indicator that the request is queued.</p>
<h2 id='private-get-order-list-oco'>private/get-order-list (OCO)</h2>
<blockquote>
<p>Request Example</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"private/get-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">123</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="mi">123456789000</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"list_id"</span><span class="p">:</span><span class="s2">"6498090546073120100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"contingency_type"</span><span class="p">:</span><span class="s2">"OCO"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Example</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">1661331609</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"private/get-order-list"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="s2">"88888888-8888-8888-8888-000000000001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="s2">"4611686018427387905"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="s2">"1661331443"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="s2">"GOOD_TILL_CANCEL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="s2">"SELL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:[],</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="s2">"0.1000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"price"</span><span class="p">:</span><span class="s2">"23000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_value"</span><span class="p">:</span><span class="s2">"2300.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"avg_price"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trigger_price"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_quantity"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_value"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_fee"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="s2">"ACTIVE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_user_id"</span><span class="p">:</span><span class="s2">"11111111-1111-1111-1111-000000000001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_date"</span><span class="p">:</span><span class="s2">"2022-08-24"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"list_id"</span><span class="p">:</span><span class="s2">"6498090546073120100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"contingency_type"</span><span class="p">:</span><span class="s2">"OCO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trigger_price_type"</span><span class="p">:</span><span class="s2">"NULL_VAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="mi">1661331445398</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="s2">"1661331445398773329"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="mi">1661331445482</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="s2">"88888888-8888-8888-8888-000000000001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="s2">"4611686018427387906"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="s2">"1661331443-2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"STOP_LOSS"</span><span class="p">,</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="s2">"GOOD_TILL_CANCEL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="s2">"SELL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:[],</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="s2">"0.1000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_value"</span><span class="p">:</span><span class="s2">"1900.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"avg_price"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trigger_price"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_quantity"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_value"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_fee"</span><span class="p">:</span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="s2">"PENDING"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_user_id"</span><span class="p">:</span><span class="s2">"11111111-1111-1111-1111-000000000001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_date"</span><span class="p">:</span><span class="s2">"2022-08-24"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"list_id"</span><span class="p">:</span><span class="s2">"6498090546073120100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"contingency_type"</span><span class="p">:</span><span class="s2">"OCO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trigger_price_type"</span><span class="p">:</span><span class="s2">"NULL_VAL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="mi">1661331445040</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="s2">"1661331445040100934"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Gets the details of an outstanding (not executed) contingency order on Exchange.</p>
<h3 id='request-params-28'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>contingency_type</td>
<td>string</td>
<td>Y</td>
<td><code>OCO</code></td>
</tr>
<tr>
<td>list_id</td>
<td>string</td>
<td>Y</td>
<td>ID of the contingency order</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>instrument_name of the contingency order, e.g. ETH_CRO, BTC_USDT.</td>
</tr>
</tbody></table>
<h3 id='applies-to-30'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-28'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-30'>Response Attributes</h3>
<p>List of order in the field <code>data</code>. For content of <code>data</code>, please refer to <a href="#private-get-open-orders"><code>private/get-open-orders</code></a> for details</p>
<h1 id='order-trade-transaction-history-api'>Order, Trade, Transaction History API</h1><h2 id='introduction-3'>Introduction</h2>
<p>History will be stored for recent 6 months record only. For records over 6 months, please contact our support team.</p>
<h2 id='private-get-order-history'>private/get-order-history</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-order-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1610905028000081486</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613570791058211357</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-order-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"18342311"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613571154795"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GOOD_TILL_CANCEL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BUY"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.900100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"maker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000250"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000400"</span><span class="p">,</span><span class="w">
</span><span class="nl">"avg_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_fee"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CANCELED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_user_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fd797356-55db-48c2-a44d-157aabf702e8"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-17"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1610905028000</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1610905028000123456"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613571320251</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"18342500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613571154800"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GOOD_TILL_CANCEL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BUY"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51283.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2564.150000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"maker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000250"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000400"</span><span class="p">,</span><span class="w">
</span><span class="nl">"avg_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51278.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2563.925000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_fee"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.025570"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"FILLED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_user_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fd797356-55db-48c2-a44d-157aabf702e8"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-17"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reason"</span><span class="p">:</span><span class="w"> </span><span class="mi">43012</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613570791059</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613570791059123456"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613570791060</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">

</span></code></pre></div>
<p>Gets the order history for a particular instrument.</p>

<p>Users should use <code>user.order</code> to keep track of real-time order updates, and <code>private/get-order-history</code> should primarily be used for recovery; typically when the websocket is disconnected.</p>
<h3 id='request-params-29'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>e.g. BTCUSD-PERP. Omit for &#39;all&#39;</td>
</tr>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>).<br />Default: <code>end_time - 1 day</code>.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>exclusive</code>)<br />Default: current system timestamp.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
<tr>
<td>limit</td>
<td>int</td>
<td>N</td>
<td>The maximum number of trades to be retrieved before the <code>end_time</code>.<br />Default: 100.<br />Max: 100.</td>
</tr>
</tbody></table>

<p><strong>Note</strong>: If you omit all parameters, you still need to pass in an empty <code>params</code> block like <code>params: {}</code> for API request consistency</p>
<h3 id='applies-to-31'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-29'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-31'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
<tr>
<td>order_type</td>
<td>string</td>
<td><code>MARKET</code>, <code>LIMIT</code>, <code>STOP_LOSS</code>, <code>STOP_LIMIT</code>, <code>TAKE_PROFIT</code>, <code>TAKE_PROFIT_LIMIT</code></td>
</tr>
<tr>
<td>time_in_force</td>
<td>string</td>
<td><br>- <code>GOOD_TILL_CANCEL</code> <br>- <code>IMMEDIATE_OR_CANCEL</code> <br>- <code>FILL_OR_KILL</code></td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td><code>BUY</code> or <code>SELL</code></td>
</tr>
<tr>
<td>exec_inst</td>
<td>array</td>
<td><br>- <code>POST_ONLY</code> <br>- <code>SMART_POST_ONLY</code> <br>- <code>LIQUIDATION</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity specified in the order</td>
</tr>
<tr>
<td>limit_price</td>
<td>string</td>
<td>Limit price specified in the order</td>
</tr>
<tr>
<td>order_value</td>
<td>string</td>
<td>Order value</td>
</tr>
<tr>
<td>maker_fee_rate</td>
<td>string</td>
<td>User&#39;s maker fee rate</td>
</tr>
<tr>
<td>taker_fee_rate</td>
<td>string</td>
<td>User&#39;s taker fee rate</td>
</tr>
<tr>
<td>avg_price</td>
<td>string</td>
<td>Average price</td>
</tr>
<tr>
<td>cumulative_quantity</td>
<td>string</td>
<td>Cumulative executed quantity</td>
</tr>
<tr>
<td>cumulative_value</td>
<td>string</td>
<td>Cumulative executed value</td>
</tr>
<tr>
<td>cumulative_fee</td>
<td>string</td>
<td>Cumulative executed fee</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Order status: <br>- <code>REJECTED</code> <br>- <code>CANCELED</code> <br>- <code>FILLED</code> <br>- <code>EXPIRED</code></td>
</tr>
<tr>
<td>update_user_id</td>
<td>string</td>
<td>Updated user</td>
</tr>
<tr>
<td>order_date</td>
<td>string</td>
<td>Order creation date</td>
</tr>
<tr>
<td>create_time</td>
<td>number</td>
<td>Order creation timestamp</td>
</tr>
<tr>
<td>create_time_ns</td>
<td>string</td>
<td>Order creation timestamp (nanosecond)</td>
</tr>
<tr>
<td>update_time</td>
<td>number</td>
<td>Order update timestamp</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>Currency used for the fees</td>
</tr>
</tbody></table>

<p>Note: Please note <code>PENDING</code>,<code>ACTIVE</code> can only be found in <code>private/get-open-orders</code> REST endpoint or <code>user.order</code> WebSocket subscription.</p>
<h2 id='private-get-trades'>private/get-trades</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-trades"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1619089031996081486"</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1619200052124211357"</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-trades"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-17"</span><span class="p">,</span><span class="w">
</span><span class="nl">"journal_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"TRADING"</span><span class="p">,</span><span class="w">
</span><span class="nl">"traded_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"traded_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51278.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fees"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-1.025570"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"19708564"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trade_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"38554669"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trade_match_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"76423"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"7665b001-2753-4d17-b266-61ecb755922d"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"MAKER"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BUY"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613570791060</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613570791060827635"</span><span class="p">,</span><span class="w">
</span><span class="nl">"transact_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613570791060827635"</span><span class="p">,</span><span class="w">
</span><span class="nl">"match_count"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"match_index"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Gets all executed trades for a particular instrument.</p>

<p>Users should use <code>user.trade</code> to keep track of real-time trades, and <code>private/get-trades</code> should primarily be used for recovery; typically when the websocket is disconnected.</p>
<h3 id='request-params-30'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>e.g. BTCUSD-PERP. Omit for &#39;all&#39;</td>
</tr>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>).<br />Default: <code>end_time - 1 day</code>.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>exclusive</code>)<br />Default: current system timestamp.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
<tr>
<td>limit</td>
<td>int</td>
<td>N</td>
<td>The maximum number of trades to be retrievd before the <code>end_time</code>.<br />Default: 100.<br />Max: 100.</td>
</tr>
</tbody></table>

<p><strong>Note</strong>: If you omit all parameters, you still need to pass in an empty <code>params</code> block like <code>params: {}</code> for API request consistency <br>
get-trades time window can only be up to 7 days for maximum.</p>
<h3 id='applies-to-32'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-30'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-32'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>event_date</td>
<td>string</td>
<td>Event date</td>
</tr>
<tr>
<td>journal_type</td>
<td>string</td>
<td>Journal type would be <code>TRADING</code></td>
</tr>
<tr>
<td>traded_quantity</td>
<td>string</td>
<td>Trade quantity</td>
</tr>
<tr>
<td>traded_price</td>
<td>string</td>
<td>Trade price</td>
</tr>
<tr>
<td>fees</td>
<td>string</td>
<td>Trade fees, the negative sign means a deduction on balance</td>
</tr>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>trade_id</td>
<td>string of number</td>
<td>Trade ID</td>
</tr>
<tr>
<td>trade_match_id</td>
<td>string of number</td>
<td>Trade match ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
<tr>
<td>taker_side</td>
<td>string</td>
<td><code>MAKER</code> or <code>TAKER</code> or empty</td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td><code>BUY</code> or <code>SELL</code></td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>e.g. USD</td>
</tr>
<tr>
<td>create_time</td>
<td>number</td>
<td>Create timestamp in milliseconds</td>
</tr>
<tr>
<td>create_time_ns</td>
<td>string</td>
<td>Create timestamp in nanoseconds</td>
</tr>
<tr>
<td>transact_time_ns</td>
<td>string</td>
<td>Trade transaction time in nanseconds</td>
</tr>
<tr>
<td>match_count</td>
<td>string of number</td>
<td>(Optional) <br> Number of orders matched for this trade execution<Br> If it is Maker&#39;s Order, value is always 1<Br> If it is Taker&#39;s Order, it is the number of orders matched for this trade execution</td>
</tr>
<tr>
<td>match_index</td>
<td>string of number</td>
<td>(Optional) <br> Only appears if it is Maker&#39;s order. <br> It represents which order entry of corresponding price level was matched <br> This value is 0 base. If the matched order is on the top of the queue, it is shown 0.</td>
</tr>
</tbody></table>
<h2 id='private-get-transactions'>private/get-transactions</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-transactions"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1619089031996081486"</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1619200052124211357"</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-transactions"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"88888888-8888-8888-8888-000000000123"</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-18"</span><span class="p">,</span><span class="w">
</span><span class="nl">"journal_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"TRADING"</span><span class="p">,</span><span class="w">
</span><span class="nl">"journal_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"187078"</span><span class="p">,</span><span class="w">
</span><span class="nl">"transaction_qty"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-0.0005"</span><span class="p">,</span><span class="w">
</span><span class="nl">"transaction_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-24.500000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-0.006125"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"72062"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trade_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"71497"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trade_match_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8625"</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613640752166</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_timestamp_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613640752166234567"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"6ac2421d-5078-4ef6-a9d5-9680602ce123"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"MAKER"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"88888888-8888-8888-8888-000000000123"</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-18"</span><span class="p">,</span><span class="w">
</span><span class="nl">"journal_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SESSION_SETTLE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"journal_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"186959"</span><span class="p">,</span><span class="w">
</span><span class="nl">"transaction_qty"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"transaction_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-0.007800"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trade_match_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613638800001</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_timestamp_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613638800001124563"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_side"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches recent transactions</p>
<h3 id='request-params-31'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>e.g. instrument_name, e.g. BTCUSD-PERP, Omit for &#39;all&#39;</td>
</tr>
<tr>
<td>journal_type</td>
<td>string</td>
<td>N</td>
<td>Refer to the <code>journal_type</code> in <code>Response Attributes</code></td>
</tr>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>).<br />Default: <code>end_time - 1 day</code>.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>exclusive</code>)<br />Default: current system timestamp.<br />Nanosecond is recommended for accurate pagination</td>
</tr>
<tr>
<td>limit</td>
<td>int</td>
<td>N</td>
<td>The maximum number of trades to be retrievd before the <code>end_time</code>.<br />Default: 100.<br />Max: 100.</td>
</tr>
</tbody></table>
<h3 id='applies-to-33'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-31'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-33'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>event_date</td>
<td>string</td>
<td>Event date</td>
</tr>
<tr>
<td>journal_type</td>
<td>string</td>
<td>Journal type would be <code>TRADING</code>, <code>TRADE_FEE</code>, <code>ONCHAIN_WITHDRAWAL</code>, <code>ONCHAIN_DEPOSIT</code>, <code>FUNDING</code>, <code>REALIZED_PNL</code>, <code>INSURANCE_FUND</code>, <code>SOCIALIZED_LOSS</code>, <code>LIQUIDATION_FEE</code>, <code>SESSION_RESET</code>, <code>ADJUSTMENT</code>, <code>SESSION_SETTLE</code>, <code>UNCOVERED_LOSS</code>, <code>ADMIN_ADJUSTMENT</code>, <code>DELIST</code>, <code>SETTLEMENT_FEE</code>, <code>AUTO_CONVERSION</code>, <code>MANUAL_CONVERSION</code>,<code>SUBACCOUNT_TX</code>,<code>FIAT_WITHDRAWAL_CANCEL</code>,<code>MARGIN_TRADE_INTEREST</code></td>
</tr>
<tr>
<td>journal_id</td>
<td>string of number</td>
<td>Journal ID</td>
</tr>
<tr>
<td>transaction_qty</td>
<td>string</td>
<td>Transaction quantity</td>
</tr>
<tr>
<td>transaction_cost</td>
<td>string</td>
<td>Transaction cost</td>
</tr>
<tr>
<td>realized_pnl</td>
<td>string</td>
<td>Realized PNL</td>
</tr>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>trade_id</td>
<td>string of number</td>
<td>Trade ID</td>
</tr>
<tr>
<td>trade_match_id</td>
<td>string of number</td>
<td>Trade match ID applicable to trades only. Non-trade related transactions will have zero or null value.</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID (can be empty)</td>
</tr>
<tr>
<td>taker_side</td>
<td>string</td>
<td><code>MAKER</code> or <code>TAKER</code> or empty</td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td><code>BUY</code> or <code>SELL</code></td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>event_timestamp_ms</td>
<td>number</td>
<td>Event timestamp in milliseconds</td>
</tr>
<tr>
<td>event_timestamp_ns</td>
<td>string</td>
<td>Event timestamp in nanoseconds</td>
</tr>
</tbody></table>

<!--
## Pagination - Orders of ALL Instruments

> Request Example - First page, most recent order records, with page size of 10.

```json
{
"id": 12,
"method": "private/get-order-history",
"params": {
"limit": 10
}
}
```

> Response Example - First page

```json
{
"id": 12,
"method": "private/get-order-history",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2317",
"client_oid": "f9452cc4-a8bd-4887-ba0d-26d95cee0234",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "SELL",
"exec_inst": [],
"quantity": "0.0002",
"limit_price": "1600.00",
"order_value": "0.320000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "1600.00",
"cumulative_quantity": "0.0002",
"cumulative_value": "0.320000",
"cumulative_fee": "0.000080",
"status": "FILLED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-09",
"instrument_name": "ETHUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615280621728,
"create_time_ns": "1615280621728123456",
"update_time": 1615280621744
},
//...
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2301",
"client_oid": "dd50a978-bacc-4a03-9df1-5815a0adb2cb",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "SELL",
"exec_inst": [],
"quantity": "0.0002",
"limit_price": "50000.0",
"order_value": "10.000000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "0.0",
"cumulative_quantity": "0.0000",
"cumulative_value": "0.000000",
"cumulative_fee": "0.000000",
"status": "CANCELED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-08",
"instrument_name": "BTCUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615199206815,
"create_time_ns": "1615199206815123456",
"update_time": 1615199206871
}
]
}
}
```


> Request Example - Second page, look up for same search criteria, but only look for the records before create_time_ns 1615199206815123456, which is indicated in the last record of the first page.

```json
{
"id": 12,
"method": "private/get-order-history",
"params": {
"end_time": "1615199206815123456",
"limit": 10
}
}
```

> Response Example - Second page

```json
{
"id": 12,
"method": "private/get-order-history",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2300",
"client_oid": "73a1c4fa-2185-4793-ab3f-f9423e146af5",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "SELL",
"exec_inst": [],
"quantity": "0.0002",
"limit_price": "1600.00",
"order_value": "0.320000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "1680.00",
"cumulative_quantity": "0.0002",
"cumulative_value": "0.336000",
"cumulative_fee": "0.000135",
"status": "FILLED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-08",
"instrument_name": "ETHUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615198368095,
"create_time_ns": "1615198368095123456",
"update_time": 1615198369904
},
//...
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2255",
"client_oid": "3625b98e-bf9c-4172-b3ec-a4e6fcc7cb57",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "SELL",
"exec_inst": [],
"quantity": "0.0002",
"limit_price": "1600.00",
"order_value": "0.320000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "1680.00",
"cumulative_quantity": "0.0002",
"cumulative_value": "0.336000",
"cumulative_fee": "0.000135",
"status": "FILLED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-08",
"instrument_name": "ETHUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615198367594,
"create_time_ns": "1615198367594123456",
"update_time": 1615198369488
}
]
}
}
```

## Pagination - Orders of Specific Instrument



```json
{
"id": 12,
"method": "private/get-order-history",
"params": {
"limit": 2
}
}
```

> Response Example - First page

```json
{
"id": 12,
"method": "private/get-order-history",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2317",
"client_oid": "f9452cc4-a8bd-4887-ba0d-26d95cee0234",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "SELL",
"exec_inst": [],
"quantity": "0.0002",
"limit_price": "1600.00",
"order_value": "0.320000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "1600.00",
"cumulative_quantity": "0.0002",
"cumulative_value": "0.320000",
"cumulative_fee": "0.000080",
"status": "FILLED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-09",
"instrument_name": "ETHUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615280621728,
"create_time_ns": "1615280621728123456",
"update_time": 1615280621744
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2316",
"client_oid": "d165caa2-1901-4b0b-88e3-8d9d04b190c2",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "SELL",
"exec_inst": [],
"quantity": "0.0002",
"limit_price": "1700.00",
"order_value": "0.340000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "0.00",
"cumulative_quantity": "0.0000",
"cumulative_value": "0.000000",
"cumulative_fee": "0.000000",
"status": "CANCELED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-09",
"instrument_name": "ETHUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615280621726,
"create_time_ns": "1615280621726123456",
"update_time": 1615280621739
}
]
}
}
```

> Request Example - Second page, look up for same search criteria, but only look for the records before create_time_ns 1615280621744123001, which is indicated in the last record of the first page.


```json
{
"id": 12,
"method": "private/get-order-history",
"params": {
"end_time": "1615280621726123456",
"limit": 2
}
}
```

> Response Example - Second page

```json
{
"id": 12,
"method": "private/get-order-history",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2315",
"client_oid": "0270a222-c18f-48b1-a3d1-2f8ffe0e2013",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "BUY",
"exec_inst": [],
"quantity": "0.0020",
"limit_price": "1680.00",
"order_value": "3.360000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "1600.00",
"cumulative_quantity": "0.0002",
"cumulative_value": "0.320000",
"cumulative_fee": "0.000128",
"status": "CANCELED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-09",
"instrument_name": "ETHUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615280532871,
"create_time_ns": "1615280532871123456",
"update_time": 1615280620728
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"order_id": "2314",
"client_oid": "283ac508-c62f-47f7-b34a-9b795e845429",
"order_type": "LIMIT",
"time_in_force": "GOOD_TILL_CANCEL",
"side": "SELL",
"exec_inst": [],
"quantity": "0.0002",
"limit_price": "1600.00",
"order_value": "0.320000",
"maker_fee_rate": "0.000250",
"taker_fee_rate": "0.000400",
"avg_price": "1600.00",
"cumulative_quantity": "0.0002",
"cumulative_value": "0.320000",
"cumulative_fee": "0.000080",
"status": "FILLED",
"update_user_id": "11111111-1111-1111-1111-000000000008",
"order_date": "2021-03-09",
"instrument_name": "ETHUSD-PERP",
"fee_instrument_name": "USD",
"create_time": 1615280532870,
"create_time_ns": "1615280532870123456",
"update_time": 1615280532894
}
]
}
}
```

## Pagination - Trades of ALL Instruments

> Request Example - First page, most recent trade records of all instruments, with page size of 10.

```json
{
"id": 12,
"method": "private/get-trades",
"params": {
"limit": 10
}
}
```

> Response Example - First page

```json
{
"id": 12,
"method": "private/get-trades",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-09",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "1600.00",
"fees": "0.319654",
"order_id": "2317",
"trade_id": "3578",
"trade_match_id": "773",
"client_oid": "f9452cc4-a8bd-4887-ba0d-26d95cee0234",
"taker_side": "MAKER",
"side": "SELL",
"instrument_name": "ETHUSD-PERP",
"create_time": 1615280621744,
"create_time_ns": "1615280621744123456"
},
//...
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "50000.0",
"fees": "9.997484",
"order_id": "2302",
"trade_id": "3545",
"trade_match_id": "767",
"client_oid": "c6288370-8977-4097-ab88-423d24aaacb2",
"taker_side": "MAKER",
"side": "SELL",
"instrument_name": "BTCUSD-PERP",
"create_time": 1615199206871,
"create_time_ns": "1615199206871123456"
}
]
}
}
```

> Request Example - Second page, look up for same search criteria, but only look for the records before `create_time_ns` `1615199206871123456`, which is indicated in the last record of the first page.

```json
{
"id": 12,
"method": "private/get-trades",
"params": {
"end_time": "1615199206871123456",
"limit": 10
}
}
```

> Response Example - Second page

```json
{
"id": 12,
"method": "private/get-trades",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "50000.0",
"fees": "-0.004000",
"order_id": "2303",
"trade_id": "3546",
"trade_match_id": "767",
"client_oid": "e800602b-ee71-4d46-a5a9-36a7f444f481",
"taker_side": "TAKER",
"side": "BUY",
"instrument_name": "BTCUSD-PERP",
"create_time": 1615199206871,
"create_time_ns": "1615199206871000003",
},
//...
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "1680.00",
"fees": "0.335348",
"order_id": "2285",
"trade_id": "3521",
"trade_match_id": "761",
"client_oid": "40af6320-cc45-4a12-81ac-887e98acce33",
"taker_side": "TAKER",
"side": "SELL",
"instrument_name": "ETHUSD-PERP",
"create_time": 1615198369766,
"create_time": "1615198369766123456"
}
]
}
}
```

## Pagination - Trades of Specific Instrument

> Request Example - First page, most recent records of ETHUSD-PERP, with page size of 2.

```json
{
"id": 12,
"method": "private/get-trades",
"params": {
"instrument_name": "ETHUSD-PERP",
"limit": 2
}
}
```

> Response Example - First page

```json
{
"id": 12,
"method": "private/get-trades",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-09",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "1600.00",
"fees": "0.319654",
"order_id": "2317",
"trade_id": "3578",
"trade_match_id": "773",
"client_oid": "f9452cc4-a8bd-4887-ba0d-26d95cee0234",
"taker_side": "MAKER",
"side": "SELL",
"instrument_name": "ETHUSD-PERP",
"create_time": 1615280621744,
"create_time_ns": "1615280621744123456"
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-09",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "1600.00",
"fees": "-0.000128",
"order_id": "2318",
"trade_id": "3579",
"trade_match_id": "773",
"client_oid": "b03f4416-ae3e-426d-b385-baef69b6a397",
"taker_side": "TAKER",
"side": "BUY",
"instrument_name": "ETHUSD-PERP",
"create_time": 1615280621744,
"create_time_ns": "1615280621744123001"
}
]
}
}
```

> Request Example - Second page, look up for same search criteria, but only look for the records before `create_time_ns` `1615280621744123001`, which is indicated in the last record of the first page.

```json
{
"id": 12,
"method": "private/get-trades",
"params": {
"instrument_name": "ETHUSD-PERP",
"end_time": "1615280621744123001",
"limit": 2
}
}
```

> Response Example - Second page

```json
{
"id": 12,
"method": "private/get-trades",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-09",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "1600.00",
"fees": "0.319655",
"order_id": "2314",
"trade_id": "3572",
"trade_match_id": "772",
"client_oid": "283ac508-c62f-47f7-b34a-9b795e845429",
"taker_side": "MAKER",
"side": "SELL",
"instrument_name": "ETHUSD-PERP",
"create_time": 1615280532894,
"create_time_ns": "1615280532894123456"
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-09",
"journal_type": "TRADING",
"traded_quantity": "0.0002",
"traded_price": "1600.00",
"fees": "-0.000128",
"order_id": "2315",
"trade_id": "3573",
"trade_match_id": "772",
"client_oid": "0270a222-c18f-48b1-a3d1-2f8ffe0e2013",
"taker_side": "TAKER",
"side": "BUY",
"instrument_name": "ETHUSD-PERP",
"create_time": 1615280532894,
"create_time_ns": "1615280532894123001"
}
]
}
}
```

## Pagination - Transactions of ALL Instruments

> Request Example - First page, most recent transaction records of all instruments, with page size of 2.

```json
{
"id": 12,
"method": "private/get-transactions",
"params": {
"limit": 2
}
}
```

> Response Example - First page

```json
{
"id": 12,
"method": "private/get-transactions",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADING",
"journal_id": "6142",
"transaction_qty": "-0.0002",
"transaction_cost": "0.000000",
"realized_pnl": "9.997484",
"order_id": "2302",
"trade_id": "3545",
"trade_match_id": "767",
"event_timestamp_ms": 1615199206871,
"event_timestamp_ns": "1615199206871123456",
"client_oid": "c6288370-8977-4097-ab88-423d24aaacb2",
"taker_side": "MAKER",
"side": "SELL",
"instrument_name": "BTCUSD-PERP"
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "REALIZED_PNL",
"journal_id": "6140",
"transaction_qty": "9.99",
"transaction_cost": "9.999984",
"realized_pnl": "0.000000",
"order_id": "2302",
"trade_id": "3545",
"trade_match_id": "767",
"event_timestamp_ms": 1615199206871,
"event_timestamp_ns": "1615199206871123001",
"client_oid": "c6288370-8977-4097-ab88-423d24aaacb2",
"taker_side": "MAKER",
"instrument_name": "USD"
}
]
}
}
```

> Request Example - Second page, look up for same search criteria, but only look for the records before `event_timestamp_ns` `1615199206871123001`, which is indicated in the last record of the first page

```json
{
"id": 12,
"method": "private/get-transactions",
"params": {
"end_time": "1615199206871123001",
"limit": 2
}
}
```

> Response Example - Second page

```json
{
"id": 12,
"method": "private/get-transactions",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADE_FEE",
"journal_id": "6138",
"transaction_qty": "0.00",
"transaction_cost": "-0.002500",
"realized_pnl": "0.000000",
"order_id": "2302",
"trade_id": "3545",
"trade_match_id": "767",
"event_timestamp_ms": 1615199206871,
"event_timestamp_ns": "1615199206871000003",
"client_oid": "c6288370-8977-4097-ab88-423d24aaacb2",
"taker_side": "MAKER",
"instrument_name": "USD"
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADING",
"journal_id": "6137",
"transaction_qty": "0.0002",
"transaction_cost": "10.000000",
"realized_pnl": "-0.004000",
"order_id": "2303",
"trade_id": "3546",
"trade_match_id": "767",
"event_timestamp_ms": 1615199206871,
"event_timestamp_ns": "1615199206871000001",
"client_oid": "e800602b-ee71-4d46-a5a9-36a7f444f481",
"taker_side": "TAKER",
"side": "BUY",
"instrument_name": "BTCUSD-PERP"
}
]
}
}
```

## Pagination - Transactions of Specific Instrument

> Request Example - First page, most recent transaction records of USD, with page size of 2.

```json
{
"id": 12,
"method": "private/get-transactions",
"params": {
"instrument_name": "USD",
"limit": 2
}
}
```

> Response Example - First page

```json
{
"id": 12,
"method": "private/get-transactions",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "REALIZED_PNL",
"journal_id": "6140",
"transaction_qty": "9.99",
"transaction_cost": "9.999984",
"realized_pnl": "0.000000",
"order_id": "2302",
"trade_id": "3545",
"trade_match_id": "767",
"event_timestamp_ms": 1615199206871,
"event_timestamp_ns": "1615199206871123456",
"client_oid": "c6288370-8977-4097-ab88-423d24aaacb2",
"taker_side": "MAKER",
"instrument_name": "USD"
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADE_FEE",
"journal_id": "6138",
"transaction_qty": "0.00",
"transaction_cost": "-0.002500",
"realized_pnl": "0.000000",
"order_id": "2302",
"trade_id": "3545",
"trade_match_id": "767",
"event_timestamp_ms": 1615199206871,
"event_timestamp_ns": "1615199206871123333",
"client_oid": "c6288370-8977-4097-ab88-423d24aaacb2",
"taker_side": "MAKER",
"instrument_name": "USD"
}
]
}
}
```

> Request Example - Second page, look up for same search criteria, but only look for the records before `event_timestamp_ns` `1615199206871123333`, which is indicated in the last record of the first page

```json
{
"id": 12,
"method": "private/get-transactions",
"params": {
"instrument_name": "USD",
"end_time": "1615199206871123333",
"limit": 2
}
}
```

> Response Example - Second page

```json
{
"id": 12,
"method": "private/get-transactions",
"code": 0,
"result": {
"data": [
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "TRADE_FEE",
"journal_id": "6135",
"transaction_qty": "0.00",
"transaction_cost": "-0.004000",
"realized_pnl": "0.000000",
"order_id": "2303",
"trade_id": "3546",
"trade_match_id": "767",
"event_timestamp_ms": 1615199206871,
"event_timestamp_ns": "1615199206871111111",
"client_oid": "e800602b-ee71-4d46-a5a9-36a7f444f481",
"taker_side": "TAKER",
"instrument_name": "USD"
},
{
"account_id": "88888888-8888-8888-8888-000000000008",
"event_date": "2021-03-08",
"journal_type": "ADMIN_ADJUSTMENT",
"journal_id": "6134",
"transaction_qty": "10000.00",
"transaction_cost": "3.000000",
"realized_pnl": "2.000000",
"event_timestamp_ms": 1615198560492,
"event_timestamp_ns": "1615198560492000111",
"client_oid": "",
"taker_side": "",
"instrument_name": "USD"
}
]
}
}
```
-->
<h1 id='wallet-api'>Wallet API</h1><h2 id='private-create-withdrawal'>private/create-withdrawal</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/create-withdrawal"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"client_wid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my_withdrawal_002"</span><span class="p">,</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTC"</span><span class="p">,</span><span class="w">
</span><span class="nl">"amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf"</span><span class="p">,</span><span class="w">
</span><span class="nl">"address_tag"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"network_id"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1607063412000"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"private/create-withdrawal"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2220</span><span class="p">,</span><span class="w">
</span><span class="nl">"amount"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.0004</span><span class="p">,</span><span class="w">
</span><span class="nl">"symbol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTC"</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_wid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my_withdrawal_002"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="mi">1607063412000</span><span class="p">,</span><span class="w">
</span><span class="nl">"network_id"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Creates a withdrawal request. Withdrawal setting must be enabled for your API Key. If you do not see the option when viewing your API Key, this feature is not yet available for you.</p>
<h3 id='request-params-32'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>client_wid</td>
<td>string</td>
<td>N</td>
<td>Optional Client withdrawal ID</td>
</tr>
<tr>
<td>currency</td>
<td>string</td>
<td>Y</td>
<td>E.g. BTC, CRO</td>
</tr>
<tr>
<td>amount</td>
<td>decimal</td>
<td>Y</td>
<td></td>
</tr>
<tr>
<td>address</td>
<td>string</td>
<td>Y</td>
<td></td>
</tr>
<tr>
<td>address_tag</td>
<td>string</td>
<td>N</td>
<td>Secondary address identifier for coins like XRP, XLM etc. Also known as memo or tags.</td>
</tr>
<tr>
<td>network_id</td>
<td>string</td>
<td>N</td>
<td>Select the desired network, require the address to be whitelisted first. See default_network and network in get-currency-networks for the value.</td>
</tr>
</tbody></table>
<h3 id='helpful-information'>Helpful Information</h3>
<ul>
<li>Withdrawal addresses must first be whitelisted in your account’s Withdrawal Whitelist page.</li>
<li>Withdrawal fees and minimum withdrawal amount can be found on the Fees &amp; Limits page on the Exchange website.</li>
</ul>
<h3 id='applies-to-34'>Applies To</h3>
<p><tag class="rest">REST</tag> <tag class="ws">Websocket (User API)</tag></p>
<h3 id='rest-method-32'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-34'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>long</td>
<td>Newly created withdrawal ID</td>
</tr>
<tr>
<td>client_wid</td>
<td>string</td>
<td>(Optional) if a Client withdrawal ID was provided in the request</td>
</tr>
<tr>
<td>currency</td>
<td>string</td>
<td>E.g. BTC, CRO</td>
</tr>
<tr>
<td>amount</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>fee</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>address</td>
<td>string</td>
<td>Address with Address Tag (if any)</td>
</tr>
<tr>
<td>create_time</td>
<td>long</td>
<td></td>
</tr>
</tbody></table>
<h2 id='private-get-currency-networks'>private/get-currency-networks</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-currency-networks"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9b4e5428970d88270ac18aa680d33bf6a42390db2060e7f3b81f579a99cea9d5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1640830660110</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1641151604000</span><span class="p">,</span><span class="w">
</span><span class="nl">"currency_map"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"AGLD"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"full_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Adventure Gold"</span><span class="p">,</span><span class="w">
</span><span class="nl">"default_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"network_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"network_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdrawal_fee"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdraw_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_withdrawal_amount"</span><span class="p">:</span><span class="w"> </span><span class="mf">10.0</span><span class="p">,</span><span class="w">
</span><span class="nl">"deposit_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"confirmation_required"</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"MATIC"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"full_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Polygon"</span><span class="p">,</span><span class="w">
</span><span class="nl">"default_network"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"network_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"network_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BNB"</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdrawal_fee"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.80000000</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdraw_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_withdrawal_amount"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.6</span><span class="p">,</span><span class="w">
</span><span class="nl">"deposit_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"confirmation_required"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"network_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdrawal_fee"</span><span class="p">:</span><span class="w"> </span><span class="mf">20.00000000</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdraw_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_withdrawal_amount"</span><span class="p">:</span><span class="w"> </span><span class="mf">40.0</span><span class="p">,</span><span class="w">
</span><span class="nl">"deposit_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"confirmation_required"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"network_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"MATIC"</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdrawal_fee"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.08000000</span><span class="p">,</span><span class="w">
</span><span class="nl">"withdraw_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_withdrawal_amount"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.16</span><span class="p">,</span><span class="w">
</span><span class="nl">"deposit_enabled"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"confirmation_required"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get the symbol network mapping.</p>
<h3 id='request-params-33'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>no param required</td>
<td>N/A</td>
<td></td>
<td></td>
</tr>
</tbody></table>

<p><strong>Note</strong>:
<br>
i. You still need to pass in an empty <code>params</code> block like <code>params: {}</code> for API request consistency
<br>
ii. It works for master account only, not for sub-accounts.
<br></p>
<h3 id='applies-to-35'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-33'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-35'>Response Attributes</h3>
<p>An Map of <code>currency</code>, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>full_name</td>
<td>string</td>
<td>e.g. SHIBA INU</td>
</tr>
<tr>
<td>default_network</td>
<td>string</td>
<td>If network is not provided in create-withdrawal, it will search for default_network, if there is more than 1 network available.</td>
</tr>
<tr>
<td>network_list</td>
<td>string</td>
<td>A list of networks</td>
</tr>
</tbody></table>

<p>network_list:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>network_id</td>
<td>string</td>
<td>the network id, can be used in create-withdrawal</td>
</tr>
<tr>
<td>withdraw_enabled</td>
<td>boolean</td>
<td></td>
</tr>
<tr>
<td>deposit_enabled</td>
<td>boolean</td>
<td></td>
</tr>
<tr>
<td>withdrawal_fee</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>min_withdrawal_amount</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>confirmation_required</td>
<td>int</td>
<td>confirmation blocks count</td>
</tr>
</tbody></table>
<h2 id='private-get-deposit-address'>private/get-deposit-address</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-deposit-address"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO"</span><span class="p">,</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-deposit-address"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"deposit_address_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1615886328000</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345"</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1615886332000</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12346"</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches deposit address. Withdrawal setting must be enabled for your API Key. If you do not see the option when viewing your API Keys, this feature is not yet available for you.</p>
<h3 id='request-params-34'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>currency</td>
<td>string</td>
<td>Y</td>
<td>E.g. BTC, CRO</td>
</tr>
</tbody></table>
<h3 id='applies-to-36'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-34'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-36'>Response Attributes</h3>
<p>An array of <code>deposit_address_list</code>, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>long</td>
<td>Newly created deposit ID</td>
</tr>
<tr>
<td>currency</td>
<td>string</td>
<td>E.g. BTC, CRO</td>
</tr>
<tr>
<td>network</td>
<td>string</td>
<td>E.g. ETH, CRO<br><br>When currency = CRO, network = CRO, it is a main net address.<br>When currency = CRO, network = ETH, it is an ERC20 address.</td>
</tr>
<tr>
<td>address</td>
<td>string</td>
<td>Address with Address Tag (if any)</td>
</tr>
<tr>
<td>create_time</td>
<td>long</td>
<td></td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>&quot;0&quot;<br><br>0 - Inactive<br>1 - Active</td>
</tr>
</tbody></table>

<h2 id='private-get-deposit-history'>private/get-deposit-history</h2>

<blockquote>
<p>Request Sample</p>
</blockquote>

<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-deposit-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"XRP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_ts"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846300000</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_ts"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="nl">"page_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="nl">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-deposit-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"deposit_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"XRP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1607063412000</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2220"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1607063460000</span><span class="p">,</span><span class="w">
</span><span class="nl">"amount"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf?1234567890"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches deposit history. If you do not see the option when viewing your API Keys, this feature is not yet available for you.
<br><br>
Note: It works for master account only, not for sub-accounts.
<br></p>
<h3 id='request-params'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>currency</td>
<td>string</td>
<td>N</td>
<td>E.g. BTC, CRO</td>
</tr>
<tr>
<td>start_ts</td>
<td>long</td>
<td>N</td>
<td>Default is 90 days from current timestamp</td>
</tr>
<tr>
<td>end_ts</td>
<td>long</td>
<td>N</td>
<td>Default is current timestamp</td>
</tr>
<tr>
<td>page_size</td>
<td>int</td>
<td>N</td>
<td>Page size (Default: 20, Max: 200)</td>
</tr>
<tr>
<td>page</td>
<td>int</td>
<td>N</td>
<td>Page number (0-based)</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>N</td>
<td>&quot;0&quot;<br><br>0 - Not Arrived<br>1 - Arrived<br>2 - Failed<br>3 - Pending</td>
</tr>
</tbody></table>
<h3 id='applies-to'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes'>Response Attributes</h3>
<p>An array of <code>deposit_list</code>, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>long</td>
<td>Newly created deposit ID</td>
</tr>
<tr>
<td>currency</td>
<td>string</td>
<td>E.g. BTC, CRO</td>
</tr>
<tr>
<td>amount</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>fee</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>address</td>
<td>string</td>
<td>Address with Address Tag (if any)</td>
</tr>
<tr>
<td>create_time</td>
<td>long</td>
<td></td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>&quot;0&quot;<br><br>0 - Not Arrived<br>1 - Arrived<br>2 - Failed<br>3 - Pending</td>
</tr>
</tbody></table>


<h2 id='private-get-withdrawal-history'>private/get-withdrawal-history</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-withdrawal-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"XRP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_ts"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846300000</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_ts"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="nl">"page_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="nl">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-withdrawal-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"withdrawal_list"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"currency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"XRP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_wid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my_withdrawal_002"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1607063412000</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2220"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1607063460000</span><span class="p">,</span><span class="w">
</span><span class="nl">"amount"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w">
</span><span class="nl">"address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf?1234567890"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"txid"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"network_id"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Fetches withdrawal history. If you do not see the option when viewing your API Keys, this feature is not yet available for you.
<br><br>
Note: It works for master account only, not for sub-accounts.
<br></p>
<h3 id='request-params'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>currency</td>
<td>string</td>
<td>N</td>
<td>E.g. BTC, CRO</td>
</tr>
<tr>
<td>start_ts</td>
<td>long</td>
<td>N</td>
<td>Default is 90 days from current timestamp</td>
</tr>
<tr>
<td>end_ts</td>
<td>long</td>
<td>N</td>
<td>Default is current timestamp</td>
</tr>
<tr>
<td>page_size</td>
<td>int</td>
<td>N</td>
<td>Page size (Default: 20, Max: 200)</td>
</tr>
<tr>
<td>page</td>
<td>int</td>
<td>N</td>
<td>Page number (0-based)</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>N</td>
<td>&quot;0&quot;<br><br>0 - Pending<br>1 - Processing<br>2 - Rejected<br>3 - Payment In-progress<br>4 - Payment Failed<br>5 - Completed<br>6 - Cancelled</td>
</tr>
</tbody></table>
<h3 id='applies-to'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes'>Response Attributes</h3>
<p>An array of <code>withdrawal_list</code>, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>long</td>
<td>Newly created withdrawal ID</td>
</tr>
<tr>
<td>client_wid</td>
<td>string</td>
<td>(Optional) if a Client withdrawal ID was provided in the request</td>
</tr>
<tr>
<td>currency</td>
<td>string</td>
<td>E.g. BTC, CRO</td>
</tr>
<tr>
<td>amount</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>fee</td>
<td>decimal</td>
<td></td>
</tr>
<tr>
<td>address</td>
<td>string</td>
<td>Address with Address Tag (if any)</td>
</tr>
<tr>
<td>create_time</td>
<td>long</td>
<td></td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>&quot;0&quot;<br><br>0 - Pending<br>1 - Processing<br>2 - Rejected<br>3 - Payment In-progress<br>4 - Payment Failed<br>5 - Completed<br>6 - Cancelled</td>
</tr>
<tr>
<td>txid</td>
<td>string</td>
<td>Transaction hash</td>
</tr>
<tr>
<td>network_id</td>
<td>string</td>
<td>Network for the transaction - please see get-currency-networks. Only available when Exchange support multiple network on the currency</td>
</tr>
</tbody></table>


<div class='note'>
</div>
<h1 id='staking-api'>Staking API</h1><h2 id='private-staking-stake'>private/staking/stake</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/stake"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/stake"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"staking_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"NEW"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pre_stake_charge_rate_in_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pre_stake_charge"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"NO_ERROR"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Create a request to earn token rewards by staking on-chain in the Exchange.</p>
<h3 id='request-params-35'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>Staking instrument name, e.g. SOL.staked, refer to <code>instrument_name</code> from <code>private/staking/get-staking-instruments</code> response</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Y</td>
<td>Stake quantity</td>
</tr>
</tbody></table>
<h3 id='applies-to-37'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-35'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-37'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>staking_id</td>
<td>string</td>
<td>Request id</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Request status: <br>- <code>NEW</code> <br>- <code>PENDING</code> <br>- <code>STAKED</code> <br>- <code>COMPLETED</code> <br>- <code>REJECTED</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Stake quantity</td>
</tr>
<tr>
<td>underlying_inst_name</td>
<td>string</td>
<td>Underlying instrument name of staking, e.g. SOL</td>
</tr>
<tr>
<td>pre_stake_charge_rate_in_bps</td>
<td>string</td>
<td>Pre stake charge rate in basis point</td>
</tr>
<tr>
<td>pre_stake_charge</td>
<td>string</td>
<td>Pre stake charge value</td>
</tr>
<tr>
<td>reason</td>
<td>string</td>
<td>Reason for the status, e.g. &quot;NO_ERROR&quot;</td>
</tr>
</tbody></table>
<h2 id='private-staking-unstake'>private/staking/unstake</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/unstake"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/unstake"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"staking_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"NEW"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"NO_ERROR"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Create a request to unlock staked token.</p>
<h3 id='request-params-36'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>Staking instrument name, e.g. SOL.staked, refer to <code>instrument_name</code> from <code>private/staking/get-staking-instruments</code> response</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Y</td>
<td>Unstake quantity <br><br>For yield-bearing instruments (learn more from <a href="https://help.crypto.com/en/articles/6800043-on-chain-staking-guide">FAQs</a>), this field requires the quantity you wish to unstake in terms of the original staked token. <br><br>Example:<br> If you hold a TSTON.staked position, specify the quantity of TSTON.staked token you wish to unstake. You can retrieve the conversion rates (of TSTON to TON) from private/staking/get-swap-rate endpoint to estimate the quantity of TON you will receive after the request is successfully completed.</td>
</tr>
</tbody></table>
<h3 id='applies-to-38'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-36'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-38'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>staking_id</td>
<td>string</td>
<td>Request id</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Request status: <br>- <code>NEW</code> <br>- <code>PENDING</code> <br>- <code>PENDING_WITHDRAWAL</code> <br>- <code>PENDING_UNSTAKING</code> <br>- <code>COMPLETED</code> <br>- <code>REJECTED</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Unstake quantity <br><br> For yield-bearing instruments (learn more from <a href="https://help.crypto.com/en/articles/6800043-on-chain-staking-guide">FAQs</a>), this field displays the quantity you wish to unstake in terms of the original token you staked. <br><br>Example: <br> If you hold a TSTON.staked position, specify the quantity of TSTON.staked tokens you wish to unstake. This field will show you the quantity of TON you will receive after the request is successfully completed.</td>
</tr>
<tr>
<td>underlying_inst_name</td>
<td>string</td>
<td>Underlying instrument name, e.g. SOL</td>
</tr>
<tr>
<td>reason</td>
<td>string</td>
<td>Reason for the status, e.g. &quot;NO_ERROR&quot;</td>
</tr>
</tbody></table>
<h2 id='private-staking-get-staking-position'>private/staking/get-staking-position</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-staking-position"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-staking-position"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"staked_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"30000.00"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pending_staked_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20000.00"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pending_unstaked_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10000.00"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reward_eligible_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10000.00"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get the total staking position for a user/token</p>
<h3 id='request-params-37'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
</tbody></table>
<h3 id='applies-to-39'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-37'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-39'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>underlying_inst_name</td>
<td>string</td>
<td>Underlying instrument name, e.g. SOL</td>
</tr>
<tr>
<td>staked_quantity</td>
<td>string</td>
<td>Total staked quantity <br><br> For yield-bearing instruments (learn more from <a href="https://help.crypto.com/en/articles/6800043-on-chain-staking-guide">FAQs</a>), the staked_quantity, pending_unstaked_quantity, reward_eligible_quantity fields display the quantity of yield-bearing tokens held.<br><br>Example: <br>If you hold a TSTON.staked position, this will show the actual quantity of TSTON held on-chain on your behalf via the Crypto.com Exchange.</td>
</tr>
<tr>
<td>pending_staked_quantity</td>
<td>string</td>
<td>Total pending staked quantity</td>
</tr>
<tr>
<td>pending_unstaked_quantity</td>
<td>string</td>
<td>Total pending unstaked quantity</td>
</tr>
<tr>
<td>reward_eligible_quantity</td>
<td>string</td>
<td>Total reward eligible quantity, quantity can be unstaked/convert</td>
</tr>
</tbody></table>
<h2 id='private-staking-get-staking-instruments'>private/staking/get-staking-instruments</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-staking-instruments"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-staking-instruments"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reward_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"out_of_stock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"block_unstake"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"est_rewards"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0661"</span><span class="p">,</span><span class="w">
</span><span class="nl">"apr_y"</span><span class="p">:</span><span class="w"> </span><span class="s2">"APR"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_stake_amt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reward_frequency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"lock_up_period"</span><span class="p">:</span><span class="w"> </span><span class="s2">"5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_compound_reward"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"pre_stake_charge_enable"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"pre_stake_charge_rate_in_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_restaked"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"additional_rewards"</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DYDX.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DYDX"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reward_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DYDX"</span><span class="p">,</span><span class="w">
</span><span class="nl">"out_of_stock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"block_unstake"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"est_rewards"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.05"</span><span class="p">,</span><span class="w">
</span><span class="nl">"apr_y"</span><span class="p">:</span><span class="w"> </span><span class="s2">"APR"</span><span class="p">,</span><span class="w">
</span><span class="nl">"min_stake_amt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reward_frequency"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"lock_up_period"</span><span class="p">:</span><span class="w"> </span><span class="s2">"31"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_compound_reward"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"pre_stake_charge_enable"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"pre_stake_charge_rate_in_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_restaked"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"additional_rewards"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"reward_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD_Stable_Coin"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get staking instruments information</p>
<h3 id='request-params-38'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>no param required</td>
<td>N/A</td>
<td></td>
<td></td>
</tr>
</tbody></table>
<h3 id='applies-to-40'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-38'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-40'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>underlying_inst_name</td>
<td>string</td>
<td>Underlying instrument name, e.g. SOL</td>
</tr>
<tr>
<td>reward_inst_name</td>
<td>string</td>
<td>Reward instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>out_of_stock</td>
<td>boolean</td>
<td>Disabled stake - true or false</td>
</tr>
<tr>
<td>block_unstake</td>
<td>boolean</td>
<td>Disabled unstake - true or false</td>
</tr>
<tr>
<td>est_rewards</td>
<td>string</td>
<td>Estimated rewards</td>
</tr>
<tr>
<td>apr_y</td>
<td>string</td>
<td>Estimated rewards unit - APR or APY</td>
</tr>
<tr>
<td>min_stake_amt</td>
<td>string</td>
<td>Minimum stake amount</td>
</tr>
<tr>
<td>reward_frequency</td>
<td>string</td>
<td>Estimated reward frequency (day)</td>
</tr>
<tr>
<td>lock_up_period</td>
<td>string</td>
<td>Estimated lock up period (day)</td>
</tr>
<tr>
<td>is_compound_reward</td>
<td>boolean</td>
<td>Is reward compounded - true or false</td>
</tr>
<tr>
<td>pre_stake_charge_enable</td>
<td>boolean</td>
<td>Is pre stake charge applied - true or false</td>
</tr>
<tr>
<td>pre_stake_charge_rate_in_bps</td>
<td>string</td>
<td>Pre stake charge rate in basis point</td>
</tr>
<tr>
<td>is_restaked</td>
<td>boolean</td>
<td>Is restaked instrument - true or false</td>
</tr>
<tr>
<td>additional_rewards</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>additional_rewards</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>reward_inst_name</td>
<td>string</td>
<td>Additional reward instrument name</td>
</tr>
</tbody></table>
<h2 id='private-staking-get-open-stake'>private/staking/get-open-stake</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-open-stake"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691455454495</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691545277000</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-open-stake"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cycle_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"staking_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PENDING"</span><span class="p">,</span><span class="w">
</span><span class="nl">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345678-9999-1234-9999-123456789999"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"STAKE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1668658093600"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cycle_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"staking_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UNSTAKING"</span><span class="p">,</span><span class="w">
</span><span class="nl">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345678-9999-1234-9999-123456789999"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UNSTAKE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1668658093600"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get stake/unstake requests that status is not in final state.</p>
<h3 id='request-params-39'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>) <br />Default: <code>end_time - 30 days</code> <br />Min: <code>end_time - 180 days</code></td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>inclusive</code>) <br />Default: current system timestamp</td>
</tr>
<tr>
<td>limit</td>
<td>number or string</td>
<td>N</td>
<td>The maximum number of requests returned <br />Default: 20 <br />Max: 500</td>
</tr>
</tbody></table>
<h3 id='applies-to-41'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-39'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-41'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>underlying_inst_name</td>
<td>string</td>
<td>Underlying instrument name, e.g. SOL</td>
</tr>
<tr>
<td>cycle_id</td>
<td>string</td>
<td>Cycle id</td>
</tr>
<tr>
<td>staking_id</td>
<td>string</td>
<td>Request id</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Request status: <br>- <code>NEW</code> <br>- <code>PENDING</code> <br>- <code>PENDING_WITHDRAWAL</code> <br>- <code>PENDING_UNSTAKING</code> <br>- <code>STAKED</code></td>
</tr>
<tr>
<td>account</td>
<td>string</td>
<td>Account id</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Stake/unstake quantity <br><br> For yield-bearing instruments (learn more from <a href="https://help.crypto.com/en/articles/6800043-on-chain-staking-guide">FAQs</a>), this field displays the quantity in terms of the original staked token.<br><br>Example: <br>When unstaking a TSTON.staked position, this field will specify the quantity which is pending an unstaking action, denominated in TON.</td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td>Stake or Unstake</td>
</tr>
<tr>
<td>create_timestamp_ms</td>
<td>string</td>
<td>Request creation timestamp in milliseconds in Unix time format</td>
</tr>
</tbody></table>
<h2 id='private-staking-get-stake-history'>private/staking/get-stake-history</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-stake-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691455454495</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691545277000</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-stake-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cycle_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"staking_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"COMPLETED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345678-9999-1234-9999-123456789999"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"STAKE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1668658093600"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cycle_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"staking_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"REJECTED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"account"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345678-9999-1234-9999-123456789999"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UNSTAKE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1668658093600"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get stake/unstake request history</p>
<h3 id='request-params-40'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>) <br />Default: <code>end_time - 30 days</code> <br />Min: <code>end_time - 180 days</code></td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>inclusive</code>) <br />Default: current system timestamp</td>
</tr>
<tr>
<td>limit</td>
<td>number or string</td>
<td>N</td>
<td>The maximum number of requests returned <br />Default: 20 <br />Max: 500</td>
</tr>
</tbody></table>
<h3 id='applies-to-42'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-40'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-42'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>underlying_inst_name</td>
<td>string</td>
<td>Underlying instrument name, e.g. SOL</td>
</tr>
<tr>
<td>cycle_id</td>
<td>string</td>
<td>Cycle id</td>
</tr>
<tr>
<td>staking_id</td>
<td>string</td>
<td>Request id</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Request status: <br>- <code>COMPLETED</code> <br>- <code>REJECTED</code></td>
</tr>
<tr>
<td>account</td>
<td>string</td>
<td>Account id</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Stake/unstake quantity <br><br> For yield-bearing instruments (learn more from <a href="https://help.crypto.com/en/articles/6800043-on-chain-staking-guide">FAQs</a>), this field displays the quantity in terms of the original staked token.<br><br>Example: <br>After unstaking a TSTON.staked position, this field shows how much TON was received as a result of the completed request.</td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td>Stake or Unstake</td>
</tr>
<tr>
<td>create_timestamp_ms</td>
<td>string</td>
<td>Request creation timestamp in milliseconds in Unix time format</td>
</tr>
</tbody></table>
<h2 id='private-staking-get-reward-history'>private/staking/get-reward-history</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-reward-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691455454495</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691545277000</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-reward-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"staking_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"underlying_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reward_inst_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SOL.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reward_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"123.4567"</span><span class="p">,</span><span class="w">
</span><span class="nl">"staked_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1234567"</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1667795832609"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get stake/unstake request history</p>
<h3 id='request-params-41'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>) <br />Default: <code>end_time - 30 days</code> <br />Min: <code>end_time - 180 days</code></td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>inclusive</code>) <br />Default: current system timestamp</td>
</tr>
<tr>
<td>limit</td>
<td>number or string</td>
<td>N</td>
<td>The maximum number of requests returned <br />Default: 20 <br />Max: 500</td>
</tr>
</tbody></table>
<h3 id='applies-to-43'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-41'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-43'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>staking_inst_name</td>
<td>string</td>
<td>Staking instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>underlying_inst_name</td>
<td>string</td>
<td>Underlying instrument name, e.g. SOL</td>
</tr>
<tr>
<td>reward_inst_name</td>
<td>string</td>
<td>Reward instrument name, e.g. SOL.staked</td>
</tr>
<tr>
<td>reward_quantity</td>
<td>string</td>
<td>Reward quantity</td>
</tr>
<tr>
<td>staked_balance</td>
<td>string</td>
<td>Staked balance</td>
</tr>
<tr>
<td>event_timestamp_ms</td>
<td>string</td>
<td>Event timestamp in milliseconds in Unix time format</td>
</tr>
</tbody></table>
<h2 id='private-staking-convert'>private/staking/convert</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/convert"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"from_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"to_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CDCETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"expected_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0203"</span><span class="p">,</span><span class="w">
</span><span class="nl">"from_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.14159265"</span><span class="p">,</span><span class="w">
</span><span class="nl">"slippage_tolerance_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/convert"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"from_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"to_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CDCETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"expected_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0203"</span><span class="p">,</span><span class="w">
</span><span class="nl">"from_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.14159265"</span><span class="p">,</span><span class="w">
</span><span class="nl">"slippage_tolerance_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="p">,</span><span class="w">
</span><span class="nl">"convert_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"reason"</span><span class="p">:</span><span class="w"> </span><span class="s2">"NO_ERROR"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Create a request to convert between staked token with liquid staking token.</p>
<h3 id='request-params-42'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>from_instrument_name</td>
<td>string</td>
<td>Y</td>
<td>Instrument name to convert from: <br />- ETH.staked <br />- CDCETH</td>
</tr>
<tr>
<td>to_instrument_name</td>
<td>string</td>
<td>Y</td>
<td>Instrument name to convert to: <br />- CDCETH if <code>from_instrument_name</code> is ETH.staked <br />- ETH.staked if <code>from_instrument_name</code> is CDCETH</td>
</tr>
<tr>
<td>expected_rate</td>
<td>string</td>
<td>Y</td>
<td>Expected conversion rate, received from <code>public/staking/get-conversion-rate</code></td>
</tr>
<tr>
<td>from_quantity</td>
<td>string</td>
<td>Y</td>
<td>Quantity to be converted in from_instrument_name</td>
</tr>
<tr>
<td>slippage_tolerance_bps</td>
<td>string</td>
<td>Y</td>
<td>Maximum slippage allowed in basis point</td>
</tr>
</tbody></table>
<h3 id='applies-to-44'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-42'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-44'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>from_instrument_name</td>
<td>string</td>
<td>Instrument name to convert from , e.g. ETH.staked</td>
</tr>
<tr>
<td>to_instrument_name</td>
<td>string</td>
<td>Instrument name to convert to, e.g. CDCETH</td>
</tr>
<tr>
<td>expected_rate</td>
<td>string</td>
<td>Expected conversion rate</td>
</tr>
<tr>
<td>from_quantity</td>
<td>string</td>
<td>Quantity to be converted in from_instrument_name</td>
</tr>
<tr>
<td>slippage_tolerance_bps</td>
<td>string</td>
<td>Maximum slippage allowed in basis point</td>
</tr>
<tr>
<td>convert_id</td>
<td>string</td>
<td>Convert request id</td>
</tr>
<tr>
<td>reason</td>
<td>string</td>
<td>Reason for the status, e.g. &quot;NO_ERROR&quot;</td>
</tr>
</tbody></table>
<h2 id='private-staking-get-open-convert'>private/staking/get-open-convert</h2>
<blockquote>
<p>Request Sample with limit and time range provided</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-open-convert"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691455454495</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691545277000</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-open-convert"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"from_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"to_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CDCETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"expected_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0203"</span><span class="p">,</span><span class="w">
</span><span class="nl">"from_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.14159265"</span><span class="p">,</span><span class="w">
</span><span class="nl">"slippage_tolerance_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="p">,</span><span class="w">
</span><span class="nl">"actual_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0203"</span><span class="p">,</span><span class="w">
</span><span class="nl">"to_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.14159265"</span><span class="p">,</span><span class="w">
</span><span class="nl">"convert_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"COMPLETED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1688140984005"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get convert request that status is not in final state.</p>
<h3 id='request-params-43'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>) <br />Default: <code>end_time - 30 day</code> <br />Min: <code>end_time - 180 days</code></td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>inclusive</code>) <br />Default: current system timestamp</td>
</tr>
<tr>
<td>limit</td>
<td>number or string</td>
<td>N</td>
<td>The maximum number of requests returned <br />Default: 20 <br />Max: 500</td>
</tr>
</tbody></table>
<h3 id='applies-to-45'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-43'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-45'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>from_instrument_name</td>
<td>string</td>
<td>Instrument name to convert from: <br />- ETH.staked <br />- CDCETH</td>
</tr>
<tr>
<td>to_instrument_name</td>
<td>string</td>
<td>Instrument name to convert to, e.g. CDCETH</td>
</tr>
<tr>
<td>expected_rate</td>
<td>string</td>
<td>Expected conversion rate</td>
</tr>
<tr>
<td>from_quantity</td>
<td>string</td>
<td>Quantity to be converted in from_instrument_name</td>
</tr>
<tr>
<td>slippage_tolerance_bps</td>
<td>string</td>
<td>Maximum slippage allowed in basis point</td>
</tr>
<tr>
<td>actual_rate</td>
<td>string</td>
<td>Actual conversion rate</td>
</tr>
<tr>
<td>to_quantity</td>
<td>string</td>
<td>Quantity converted to to_instrument_name</td>
</tr>
<tr>
<td>convert_id</td>
<td>string</td>
<td>Convert request id</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Request status: <br>- <code>NEW</code></td>
</tr>
<tr>
<td>create_timestamp_ms</td>
<td>string</td>
<td>Request creation timestamp in milliseconds in Unix time format</td>
</tr>
</tbody></table>
<h2 id='private-staking-get-convert-history'>private/staking/get-convert-history</h2>
<blockquote>
<p>Request Sample with limit and time range provided</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-convert-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"start_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691455454495</span><span class="p">,</span><span class="w">
</span><span class="nl">"end_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1691545277000</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/staking/get-convert-history"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"from_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ETH.staked"</span><span class="p">,</span><span class="w">
</span><span class="nl">"to_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CDCETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"expected_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0203"</span><span class="p">,</span><span class="w">
</span><span class="nl">"from_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.14159265"</span><span class="p">,</span><span class="w">
</span><span class="nl">"slippage_tolerance_bps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="p">,</span><span class="w">
</span><span class="nl">"actual_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0203"</span><span class="p">,</span><span class="w">
</span><span class="nl">"to_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3.14159265"</span><span class="p">,</span><span class="w">
</span><span class="nl">"convert_id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"COMPLETED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1688140984005"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get convert request history</p>
<h3 id='request-params-44'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>start_time</td>
<td>number or string</td>
<td>N</td>
<td>Start time in Unix time format (<code>inclusive</code>) <br />Default: <code>end_time - 30 day</code> <br />Min: <code>end_time - 180 days</code></td>
</tr>
<tr>
<td>end_time</td>
<td>number or string</td>
<td>N</td>
<td>End time in Unix time format (<code>inclusive</code>) <br />Default: current system timestamp</td>
</tr>
<tr>
<td>limit</td>
<td>number or string</td>
<td>N</td>
<td>The maximum number of requests returned <br />Default: 20 <br />Max: 500</td>
</tr>
</tbody></table>
<h3 id='applies-to-46'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-44'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-46'>Response Attributes</h3>
<p>An array, consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>from_instrument_name</td>
<td>string</td>
<td>Instrument name to convert from: <br />- ETH.staked <br />- CDCETH</td>
</tr>
<tr>
<td>to_instrument_name</td>
<td>string</td>
<td>Instrument name to convert to: <br />- CDCETH <br />- ETH.staked</td>
</tr>
<tr>
<td>expected_rate</td>
<td>string</td>
<td>Expected conversion rate</td>
</tr>
<tr>
<td>from_quantity</td>
<td>string</td>
<td>Quantity to be converted in from_instrument_name</td>
</tr>
<tr>
<td>slippage_tolerance_bps</td>
<td>string</td>
<td>Maximum slippage allowed in basis point</td>
</tr>
<tr>
<td>actual_rate</td>
<td>string</td>
<td>Actual conversion rate</td>
</tr>
<tr>
<td>to_quantity</td>
<td>string</td>
<td>Quantity converted to to_instrument_name</td>
</tr>
<tr>
<td>convert_id</td>
<td>string</td>
<td>Convert request id</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Request status: <br>- <code>COMPLETED</code> <br>- Reason of <code>REJECTED</code></td>
</tr>
<tr>
<td>create_timestamp_ms</td>
<td>string</td>
<td>Request creation timestamp in milliseconds in Unix time format</td>
</tr>
</tbody></table>
<h2 id='public-staking-get-conversion-rate'>public/staking/get-conversion-rate</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/staking/get-conversion-rate"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CDCETH"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/staking/get-conversion-rate"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CDCETH"</span><span class="p">,</span><span class="w">
</span><span class="nl">"conversion_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0203"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Get conversion rate between staked token and liquid staking token</p>
<h3 id='request-params-45'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>liquid staking token instrument name: <br />- CDCETH</td>
</tr>
</tbody></table>
<h3 id='applies-to-47'>Applies To</h3>
<p><tag class="rest">REST</tag></p>
<h3 id='rest-method-45'>REST Method</h3>
<p>POST</p>
<h3 id='response-attributes-47'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>CDCETH</td>
</tr>
<tr>
<td>conversion_rate</td>
<td>string</td>
<td>conversion rate between staked token (ETH.staked) and liquid staking token (CDCETH)</td>
</tr>
</tbody></table>
<h1 id='websocket-subscriptions'>Websocket Subscriptions</h1><h2 id='introduction-4'>Introduction</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"user.order"</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587523073344</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample (Initial)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>One of the powerful features of a websocket is the ability to subscribe to incremental updates in particular <code>channels</code>.</p>

<p>This section covers the available channels that can be subscribed or unsubscribed for both the <strong>Websocket (User API)</strong> and <strong>Websocket (Market Data Subscriptions)</strong></p>

<p>Market Data Subscriptions include features such as order book depth, all trades and ticker data.</p>

<aside class="notice" style="font-weight:bold">
The Market Data Subscriptions websocket is on a <b>separate</b> websocket endpoint from the User API websocket.
</aside>
<h3 id='market-data-websocket-subscription-limits'>Market Data Websocket Subscription Limits</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>

<p>To better distribute system load, a single market data websocket connection is limited to a maximum of 400 subscriptions.
Once this limit is reached, further subscription requests will be rejected with the <code>EXCEED_MAX_SUBSCRIPTIONS</code> error code.</p>

<p>A user should establish multiple connections if additional market data subscriptions are required.</p>
<h3 id='subscription-requests'>Subscription Requests</h3>
<p>Websocket subscriptions involve two responses:</p>

<ul>
<li><p>An initial response to the subscribe command, which can subscribe to one or more channels</p></li>
<li><p>Periodic channel data for the specified channel</p></li>
</ul>

<div class='note'>
<div class='note-body'>
<b>Important Note</b>
<br><br>
We recommend adding a 1-second sleep after establishing the websocket connection, and before requests are sent.
<br><br>
This will avoid occurrences of rate-limit (`TOO_MANY_REQUESTS`) errors, as the websocket rate limits are pro-rated based on the calendar-second that the websocket connection was opened.
</div>
</div>
<h3 id='request-params-46'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>method</td>
<td>string</td>
<td>Y</td>
<td>subscribe, unsubscribe</td>
</tr>
<tr>
<td>channels</td>
<td>array of strings</td>
<td>Y</td>
<td>Channels to be subscribed</td>
</tr>
</tbody></table>
<h3 id='applies-to-48'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag> <tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h2 id='websocket-heartbeats'>Websocket Heartbeats</h2>
<blockquote>
<p>Heartbeat Example</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587523073344</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/heartbeat"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587523073344</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/respond-heartbeat"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>For websocket connections, the system will send a heartbeat message to the client every <strong>30 seconds</strong>.</p>

<p>The client <strong>must</strong> respond back with the <code>public/respond-heartbeat</code> method, using the same matching <code>id</code>, within <strong>5 seconds</strong>, or the connection will break.</p>
<h3 id='request-params-47'>Request Params</h3>
<p>None</p>
<h3 id='applies-to-49'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag> <tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h2 id='user-order-instrument_name'>user.order.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"user.order"</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587523073344</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.order.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.order"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"19848525"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613571154900"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LIMIT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"time_in_force"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GOOD_TILL_CANCEL"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BUY"</span><span class="p">,</span><span class="w">
</span><span class="nl">"exec_inst"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0100"</span><span class="p">,</span><span class="w">
</span><span class="nl">"limit_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50000.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"500.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"maker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000250"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_fee_rate"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000400"</span><span class="p">,</span><span class="w">
</span><span class="nl">"avg_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cumulative_fee"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ACTIVE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_user_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fd797356-55db-48c2-a44d-157aabf702e8"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-17"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613575617173</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613575617173123456"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613575617173</span><span class="w">
</span><span class="nl">"transaction_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613570791060827635"</span><span class="p">,</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes all new orders or order updates for the user for a particular instrument, where the early response containing the same <code>id</code> as the request is the current open orders.</p>

<p>Requires initial authentication using <code>public/auth</code> (see <code>public/auth</code> for more information).</p>
<h3 id='applies-to-50'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-48'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td><code>user.order.{instrument_name}</code> or <code>user.order</code> (all instruments)</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td><code>user.order</code></td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
<tr>
<td>order_type</td>
<td>string</td>
<td><code>MARKET</code>, <code>LIMIT</code>, <code>STOP_LOSS</code>, <code>STOP_LIMIT</code>, <code>TAKE_PROFIT</code>, <code>TAKE_PROFIT_LIMIT</code></td>
</tr>
<tr>
<td>time_in_force</td>
<td>string</td>
<td><br>- <code>GOOD_TILL_CANCEL</code> <br>- <code>IMMEDIATE_OR_CANCEL</code> <br>- <code>FILL_OR_KILL</code></td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td><code>BUY</code> or <code>SELL</code></td>
</tr>
<tr>
<td>exec_inst</td>
<td>array</td>
<td><br>- <code>POST_ONLY</code> <br>- <code>LIQUIDATION</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity specified in the order</td>
</tr>
<tr>
<td>limit_price</td>
<td>string</td>
<td>Limit price specified in the order</td>
</tr>
<tr>
<td>order_value</td>
<td>string</td>
<td>Order value</td>
</tr>
<tr>
<td>maker_fee_rate</td>
<td>string</td>
<td>User&#39;s maker fee rate</td>
</tr>
<tr>
<td>taker_fee_rate</td>
<td>string</td>
<td>User&#39;s taker fee rate</td>
</tr>
<tr>
<td>avg_price</td>
<td>string</td>
<td>Average price</td>
</tr>
<tr>
<td>cumulative_quantity</td>
<td>string</td>
<td>Cumulative executed quantity</td>
</tr>
<tr>
<td>cumulative_value</td>
<td>string</td>
<td>Cumulative executed value</td>
</tr>
<tr>
<td>cumulative_fee</td>
<td>string</td>
<td>Cumulative executed fee</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td>Order status: <br>- <code>NEW</code> <br>- <code>PENDING</code> <br>- <code>REJECTED</code> <br>- <code>ACTIVE</code> <br>- <code>CANCELED</code> <br>- <code>FILLED</code> <br>- <code>EXPIRED</code></td>
</tr>
<tr>
<td>update_user_id</td>
<td>string</td>
<td>Updated user</td>
</tr>
<tr>
<td>order_date</td>
<td>string</td>
<td>Order creation date</td>
</tr>
<tr>
<td>create_time</td>
<td>number</td>
<td>Order creation timestamp</td>
</tr>
<tr>
<td>create_time_ns</td>
<td>string</td>
<td>Order creation timestamp (nanosecond)</td>
</tr>
<tr>
<td>update_time</td>
<td>number</td>
<td>Order update timestamp</td>
</tr>
<tr>
<td>transaction_time_ns</td>
<td>string</td>
<td>Order transaction timestamp (nanosecond). This field is equivalent to TransactTime(Tag 60) in FIX</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>Currency used for the fees</td>
</tr>
</tbody></table>

<p>Note: To detect a &#39;partial filled&#39; status, look for <code>status</code> as <code>ACTIVE</code> and <code>cumulative_quantity</code> &gt; 0.</p>
<h2 id='user-trade-instrument_name'>user.trade.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"user.trade"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.trade.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.trade"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-1324-5a6z-bfgt-de445bde21a5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"event_date"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2021-02-17"</span><span class="p">,</span><span class="w">
</span><span class="nl">"journal_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"TRADING"</span><span class="p">,</span><span class="w">
</span><span class="nl">"traded_quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"traded_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51278.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fees"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-1.025570"</span><span class="p">,</span><span class="w">
</span><span class="nl">"order_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"19708564"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trade_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"38554669"</span><span class="p">,</span><span class="w">
</span><span class="nl">"trade_match_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"76423"</span><span class="p">,</span><span class="w">
</span><span class="nl">"client_oid"</span><span class="p">:</span><span class="s2">"6ac2421d-5078-4ef6-a9d5-9680602ce123"</span><span class="p">,</span><span class="w">
</span><span class="nl">"taker_side"</span><span class="p">:</span><span class="s2">"MAKER"</span><span class="p">,</span><span class="w">
</span><span class="nl">"side"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BUY"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fee_instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613570791060</span><span class="p">,</span><span class="w">
</span><span class="nl">"create_time_ns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613570791060123456"</span><span class="p">,</span><span class="w">
</span><span class="nl">"transaction_time"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1613570791060827635"</span><span class="p">,</span><span class="w">
</span><span class="nl">"match_count"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"match_index"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes all new trades updates related to the user for a particular instrument, where the early response containing the same <code>id</code> serves as the confirmation to the request, and the rest of the responses with <code>&quot;id&quot;:-1</code> are live updates</p>

<p>Requires initial authentication using <code>public/auth</code> (see <code>public/auth</code> for more information).</p>
<h3 id='applies-to-51'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-49'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td><code>user.trade.{instrument_name}</code> or <code>user.trade</code> (all instruments)</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>user.trade</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>event_date</td>
<td>string</td>
<td>Event date</td>
</tr>
<tr>
<td>journal_type</td>
<td>string</td>
<td>Journal type would be <code>TRADING</code></td>
</tr>
<tr>
<td>traded_quantity</td>
<td>string</td>
<td>Trade quantity</td>
</tr>
<tr>
<td>traded_price</td>
<td>string</td>
<td>Trade price</td>
</tr>
<tr>
<td>fees</td>
<td>string</td>
<td>Trade fees, the negative sign means a deduction on balance</td>
</tr>
<tr>
<td>order_id</td>
<td>string of number</td>
<td>Order ID</td>
</tr>
<tr>
<td>trade_id</td>
<td>string of number</td>
<td>Trade ID</td>
</tr>
<tr>
<td>trade_match_id</td>
<td>string of number</td>
<td>Trade match ID</td>
</tr>
<tr>
<td>client_oid</td>
<td>string</td>
<td>Client Order ID</td>
</tr>
<tr>
<td>taker_side</td>
<td>string</td>
<td><code>MAKER</code> or <code>TAKER</code> or empty</td>
</tr>
<tr>
<td>side</td>
<td>string</td>
<td><code>BUY</code> or <code>SELL</code></td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>fee_instrument_name</td>
<td>string</td>
<td>e.g. USD</td>
</tr>
<tr>
<td>create_time</td>
<td>number</td>
<td>Create timestamp</td>
</tr>
<tr>
<td>create_time_ns</td>
<td>string</td>
<td>Create timestamp (nanosecond)</td>
</tr>
<tr>
<td>transaction_time</td>
<td>string</td>
<td>Trade transaction timestamp in (nanosecond)</td>
</tr>
<tr>
<td>match_count</td>
<td>string of number</td>
<td>Number of orders matched for this trade execution<Br> If it is Maker&#39;s Order, value is always 1<Br> If it is Taker&#39;s Order, it is the number of orders matched for this trade execution</td>
</tr>
<tr>
<td>match_index</td>
<td>string of number</td>
<td>Only appears if it is Maker&#39;s order. <br> It represents which order entry of corresponding price level was matched <br> This value is 0 base. If the matched order is on the top of the queue, it is shown 0.</td>
</tr>
</tbody></table>
<h2 id='user-balance'>user.balance</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:[</span><span class="s2">"user.balance"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.balance"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.balance"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"total_available_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4721.05898582"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_margin_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"7595.42571782"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2874.36673202"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_im"</span><span class="p">:</span><span class="w"> </span><span class="s2">"486.31273202"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2388.054"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1437.18336601"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"14517.54641301"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_cash_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"7890.00320721"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_collateral_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"7651.18811483"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-55.76239701"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_liquidating"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_effective_leverage"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"1.90401230"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"3000000.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"used_position_limit"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"40674.69622001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_balances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CRO"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"24422.72427884"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4776.107959969951"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4776.007959969951"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"24422.72427884"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3113.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3113.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3112.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3113.50747209"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USDT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19411607"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19389555414448"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.02"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00089555414448"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19411607"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DAI"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.19387960"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.1938796"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"false"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0008796"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.1938796"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes all new balance updates for the user.</p>

<p>Requires initial authentication using <code>public/auth</code> (see <code>public/auth</code> for more information).</p>
<h3 id='applies-to-52'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-50'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>subscription</td>
<td>string</td>
<td>user.balance</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>user.balance</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>instrument name of the balance e.g. USD</td>
</tr>
<tr>
<td>total_available_balance</td>
<td>string</td>
<td>Balance that user can open new order (Margin Balance - Initial Margin)</td>
</tr>
<tr>
<td>total_margin_balance</td>
<td>string</td>
<td>Positive cash balance on eligible collateral tokens + Negative balance on all tokens + Unrealised PnL - Fee reserves</td>
</tr>
<tr>
<td>total_initial_margin</td>
<td>string</td>
<td>Total margin requirement to support positions and all open orders IM and haircut from risk asset holdings<br>Total sum of total_position_im + total_haircut</td>
</tr>
<tr>
<td>total_position_im</td>
<td>string</td>
<td>initial margin requirement to support open positions and orders</td>
</tr>
<tr>
<td>total_haircut</td>
<td>string</td>
<td>the total haircut on eligible collateral token assets</td>
</tr>
<tr>
<td>total_maintenance_margin</td>
<td>string</td>
<td>Total maintenance margin requirement for all positions</td>
</tr>
<tr>
<td>total_position_cost</td>
<td>string</td>
<td>Position value in USD</td>
</tr>
<tr>
<td>total_cash_balance</td>
<td>string</td>
<td>Wallet Balance (Deposits - Withdrawals + Realized PnL - Fees)</td>
</tr>
<tr>
<td>total_collateral_value</td>
<td>string</td>
<td>Collateral Value</td>
</tr>
<tr>
<td>total_session_unrealized_pnl</td>
<td>string</td>
<td>Current unrealized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>total_session_realized_pnl</td>
<td>string</td>
<td>Current realized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>is_liquidating</td>
<td>boolean</td>
<td>Describes whether the account is under liquidation</td>
</tr>
<tr>
<td>total_effective_leverage</td>
<td>string</td>
<td>The actual leverage used (all open positions combined), i.e. position size / margin balance</td>
</tr>
<tr>
<td>position_limit</td>
<td>string</td>
<td>Maximum position size allowed (for all open positions combined)</td>
</tr>
<tr>
<td>used_position_limit</td>
<td>string</td>
<td>Combined position size of all open positions + order exposure on all instruments</td>
</tr>
<tr>
<td>position_balances</td>
<td>array</td>
<td>Collateral balances as shown below</td>
</tr>
</tbody></table>

<p><code>position_balances</code> is an array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Instrument name of the collateral e.g. <code>USD</code>, <code>CRO</code>, <code>USDT</code>, or <code>DAI</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity of the collateral</td>
</tr>
<tr>
<td>market_value</td>
<td>string</td>
<td>Market value of the collateral</td>
</tr>
<tr>
<td>collateral_eligible</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>haircut</td>
<td>string</td>
<td>Show haircut for eligible collateral token</td>
</tr>
<tr>
<td>collateral_amount</td>
<td>string</td>
<td>Collateral amount derived by market_value minus haircut</td>
</tr>
<tr>
<td>max_withdrawal_balance</td>
<td>string</td>
<td>Max withdrawal balance of the collateral</td>
</tr>
<tr>
<td>reserved_qty</td>
<td>string</td>
<td>Fund/balance in use, not available for new orders or additional trading activities.</td>
</tr>
</tbody></table>
<h2 id='user-positions'>user.positions</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:[</span><span class="s2">"user.positions"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.positions"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.positions"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"52e7c00f-8716-4d6f-afdf-de334bde8ea5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-14.884000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2561.516000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_position_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-7.302460"</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_pos_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2561.328000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"session_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pos_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"64.684453"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pos_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"44.311397"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2546.632000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"mark_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50932.6"</span><span class="p">,</span><span class="w">
</span><span class="nl">"target_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"50.00"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613578676735</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PERPETUAL_SWAP"</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes all new position updates for the user</p>

<p>Requires initial authentication using <code>public/auth</code> (see <code>public/auth</code> for more information).</p>
<h3 id='applies-to-53'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-51'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>subscription</td>
<td>string</td>
<td>user.positions</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>user.positions</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Position quantity</td>
</tr>
<tr>
<td>cost</td>
<td>string</td>
<td>Position cost or value in USD <br><br> <strong><em>SPOT</em></strong>: cost and quantity are the same value <br> <strong><em>PERP</em></strong>: cost is the position market value as in last hourly settlement. <br>i.e. mark price at hourly settlement * quantity</td>
</tr>
<tr>
<td>session_unrealized_pnl</td>
<td>string</td>
<td>Unrealized profit and loss for the current trading session</td>
</tr>
<tr>
<td>open_position_pnl</td>
<td>string</td>
<td>Profit and loss for the open position</td>
</tr>
<tr>
<td>open_pos_cost</td>
<td>string</td>
<td>Open pos cost</td>
</tr>
<tr>
<td>session_pnl</td>
<td>string</td>
<td>Profit and loss in the current trading session</td>
</tr>
<tr>
<td>pos_initial_margin</td>
<td>string</td>
<td>Position&#39;s initial margin</td>
</tr>
<tr>
<td>pos_maintenance_margin</td>
<td>string</td>
<td>Position&#39;s maintenance margin</td>
</tr>
<tr>
<td>market_value</td>
<td>string</td>
<td>Market value of position size with Mark Price</td>
</tr>
<tr>
<td>mark_price</td>
<td>string</td>
<td>Mark price</td>
</tr>
<tr>
<td>target_leverage</td>
<td>string</td>
<td>Leverage</td>
</tr>
<tr>
<td>update_timestamp_ms</td>
<td>number</td>
<td>Update time (Unix timestamp)</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>e.g. PERPETUAL_SWAP</td>
</tr>
</tbody></table>
<h2 id='user-account_risk'>user.account_risk</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:[</span><span class="s2">"user.account_risk"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"11111111-1111-1111-1000-000000000003"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.account_risk"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.account_risk"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_available_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10009769008.34209823"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_cash_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10010020146.28690719"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"62.47231001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"30.29753001"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_position_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1907.12000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.61999999999989088"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_margin_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10009769070.81440734"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_session_realized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_effective_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000019"</span><span class="p">,</span><span class="w">
</span><span class="nl">"position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"3000000.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"used_position_limit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4025.50000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"is_liquidating"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_borrow"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"margin_score"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"balances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USD"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9999999992.88690568152"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9999999992.88690567"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.8800000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9999999992.00690567"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9999999992.88690567"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"USDT"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9999801.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_eligible"</span><span class="p">:</span><span class="w"> </span><span class="s2">"true"</span><span class="p">,</span><span class="w">
</span><span class="nl">"haircut"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.00000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"collateral_amount"</span><span class="p">:</span><span class="w"> </span><span class="s2">"9999800.000000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"max_withdrawal_balance"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10000000.00000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"reserved_qty"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"positions"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"11111111-1111-1111-1000-000000000003"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-0.1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"market_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-1904.50000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"session_unrealized_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.61999999"</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_position_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-7.11309431848"</span><span class="p">,</span><span class="w">
</span><span class="nl">"session_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-1907.12"</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_pos_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-1900"</span><span class="p">,</span><span class="w">
</span><span class="nl">"liquidation_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pos_initial_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"29.21503000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pos_maintenance_margin"</span><span class="p">:</span><span class="w"> </span><span class="s2">"21.59703000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"mark_price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"19045.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"effective_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"target_leverage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"100.000000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">1663927002224</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PERPETUAL_SWAP"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"total_collateral_value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"10009769068.19440460"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes position and balance snapshot for the user on a regular basis</p>

<p>Requires initial authentication using <code>public/auth</code> (see <code>public/auth</code> for more information).</p>
<h3 id='applies-to-54'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-52'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>subscription</td>
<td>string</td>
<td>user.account_risk</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>user.account_risk</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>instrument name of the balance e.g. USD</td>
</tr>
<tr>
<td>total_available_balance</td>
<td>string</td>
<td>Balance that user can open new order (Margin Balance - Initial Margin)</td>
</tr>
<tr>
<td>total_margin_balance</td>
<td>string</td>
<td>Positive cash balance on eligible collateral tokens + Negative balance on all tokens + Unrealised PnL - Fee reserves</td>
</tr>
<tr>
<td>total_initial_margin</td>
<td>string</td>
<td>Total margin requirement to support positions and all open orders IM and haircut from risk asset holdings</td>
</tr>
<tr>
<td>total_maintenance_margin</td>
<td>string</td>
<td>Total maintenance margin requirement for all positions</td>
</tr>
<tr>
<td>total_position_cost</td>
<td>string</td>
<td>Position value in USD</td>
</tr>
<tr>
<td>total_cash_balance</td>
<td>string</td>
<td>Wallet Balance (Deposits - Withdrawals + Realized PnL - Fees)</td>
</tr>
<tr>
<td>total_collateral_value</td>
<td>string</td>
<td>Collateral Value</td>
</tr>
<tr>
<td>total_session_unrealized_pnl</td>
<td>string</td>
<td>Current unrealized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>total_session_realized_pnl</td>
<td>string</td>
<td>Current realized profit and loss from all open positions (calculated with Mark Price and Avg Price)</td>
</tr>
<tr>
<td>is_liquidating</td>
<td>boolean</td>
<td>Describes whether the account is under liquidation</td>
</tr>
<tr>
<td>total_effective_leverage</td>
<td>string</td>
<td>The actual leverage used (all open positions combined), i.e. position size / margin balance</td>
</tr>
<tr>
<td>position_limit</td>
<td>string</td>
<td>Maximum position size allowed (for all open positions combined)</td>
</tr>
<tr>
<td>used_position_limit</td>
<td>string</td>
<td>Combined position size of all open positions + order exposure on all instruments</td>
</tr>
</tbody></table>

<p><code>balances</code> is an array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Instrument name of the collateral e.g. <code>USD</code>, <code>CRO</code>, <code>USDT</code>, or <code>DAI</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity of the collateral</td>
</tr>
<tr>
<td>market_value</td>
<td>string</td>
<td>Market value of the collateral</td>
</tr>
<tr>
<td>collateral_eligible</td>
<td>boolean</td>
<td>true or false</td>
</tr>
<tr>
<td>haircut</td>
<td>string</td>
<td>Show haircut for eligible collateral token</td>
</tr>
<tr>
<td>collateral_amount</td>
<td>string</td>
<td>Collateral amount derived by market_value minus haircut</td>
</tr>
<tr>
<td>max_withdrawal_balance</td>
<td>string</td>
<td>Max withdrawal balance of the collateral</td>
</tr>
<tr>
<td>reserved_qty</td>
<td>string</td>
<td>Fund/balance in use, not available for new orders or additional trading activities.</td>
</tr>
</tbody></table>

<p><code>positions</code> is an array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Position quantity</td>
</tr>
<tr>
<td>liquidation_price</td>
<td>string</td>
<td>Liquidation price</td>
</tr>
<tr>
<td>session_unrealized_pnl</td>
<td>string</td>
<td>Unrealized profit and loss for the current trading session</td>
</tr>
<tr>
<td>cost</td>
<td>string</td>
<td>Position cost or value in USD</td>
</tr>
<tr>
<td>open_position_pnl</td>
<td>string</td>
<td>Profit and loss for the open position</td>
</tr>
<tr>
<td>open_pos_cost</td>
<td>string</td>
<td>Open pos cost</td>
</tr>
<tr>
<td>session_pnl</td>
<td>string</td>
<td>Profit and loss in the current trading session</td>
</tr>
<tr>
<td>pos_initial_margin</td>
<td>string</td>
<td>Position&#39;s initial margin</td>
</tr>
<tr>
<td>pos_maintenance_margin</td>
<td>string</td>
<td>Position&#39;s maintenance margin</td>
</tr>
<tr>
<td>market_value</td>
<td>string</td>
<td>Market value of position size with Mark Price</td>
</tr>
<tr>
<td>mark_price</td>
<td>string</td>
<td>Mark price</td>
</tr>
<tr>
<td>target_leverage</td>
<td>string</td>
<td>Leverage</td>
</tr>
<tr>
<td>update_timestamp_ms</td>
<td>number</td>
<td>Update time (Unix timestamp)</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>e.g. PERPETUAL_SWAP</td>
</tr>
</tbody></table>
<h2 id='user-position_balance'>user.position_balance</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:[</span><span class="s2">"user.position_balance"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.position_balance"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"user.position_balance"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="s2">"balances"</span><span class="w">
</span><span class="err">:</span><span class="w">
</span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTC"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-0.0002"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="s2">"positions"</span><span class="w">
</span><span class="err">:</span><span class="w">
</span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"account_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"11111111-1111-1111-1000-000000000003"</span><span class="p">,</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PERPETUAL_SWAP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"quantity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-0.2"</span><span class="p">,</span><span class="w">
</span><span class="nl">"cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-3807.12"</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_position_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-7.11309431848"</span><span class="p">,</span><span class="w">
</span><span class="nl">"session_pnl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"update_timestamp_ms"</span><span class="p">:</span><span class="w"> </span><span class="mi">1663927145933</span><span class="p">,</span><span class="w">
</span><span class="nl">"open_pos_cost"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-3800"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes position and balance realtime update for the user</p>

<p>Requires initial authentication using <code>public/auth</code> (see <code>public/auth</code> for more information).</p>
<h3 id='applies-to-55'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-53'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>subscription</td>
<td>string</td>
<td>user.position_balance</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>user.position_balance</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>balances</code> is an array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Instrument name of the collateral e.g. <code>USD</code>, <code>CRO</code>, <code>USDT</code>, or <code>DAI</code></td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Quantity of the collateral</td>
</tr>
<tr>
<td>update_timestamp_ms</td>
<td>number</td>
<td>Update time (Unix timestamp)</td>
</tr>
</tbody></table>

<p><code>positions</code> is an array consisting of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>account_id</td>
<td>string</td>
<td>Account ID</td>
</tr>
<tr>
<td>quantity</td>
<td>string</td>
<td>Position quantity</td>
</tr>
<tr>
<td>cost</td>
<td>string</td>
<td>Position cost or value in USD</td>
</tr>
<tr>
<td>open_position_pnl</td>
<td>string</td>
<td>Profit and loss for the open position</td>
</tr>
<tr>
<td>open_pos_cost</td>
<td>string</td>
<td>Open pos cost</td>
</tr>
<tr>
<td>session_pnl</td>
<td>string</td>
<td>Profit and loss in the current trading session</td>
</tr>
<tr>
<td>update_timestamp_ms</td>
<td>number</td>
<td>Update time (Unix timestamp)</td>
</tr>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>e.g. PERPETUAL_SWAP</td>
</tr>
</tbody></table>
<h2 id='book-instrument_name-depth'>book.{instrument_name}.{depth}</h2>
<blockquote>
<p>Request Sample - Subscription (SNAPSHOT by default)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"book.BTCUSD-PERP.10"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample - Subscription (SNAPSHOT)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Snapshot</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"book.BTCUSD-PERP.10"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"book"</span><span class="p">,</span><span class="w">
</span><span class="nl">"depth"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"asks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">[</span><span class="s2">"30082.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1689"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30083.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1288"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30084.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.0171"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30085.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.0369"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30086.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.2664"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30087.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.8000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30089.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1828"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30089.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1828"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30090.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1995"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30091.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1986"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">]</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"bids"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">[</span><span class="s2">"30079.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.0505"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30077.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.0527"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30076.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1689"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30075.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.0171"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30075.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1288"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30074.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.0033"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30073.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1675"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30072.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.3424"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30072.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.2161"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"30071.5"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.1829"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">]</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1654780033786</span><span class="p">,</span><span class="w">
</span><span class="nl">"tt"</span><span class="p">:</span><span class="w"> </span><span class="mi">1654780033755</span><span class="p">,</span><span class="w">
</span><span class="nl">"u"</span><span class="p">:</span><span class="w"> </span><span class="mi">542048017824</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample - Subscription (SNAPSHOT_AND_UPDATE)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"book.BTCUSD-PERP.10"</span><span class="p">],</span><span class="w">
</span><span class="nl">"book_subscription_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SNAPSHOT_AND_UPDATE"</span><span class="p">,</span><span class="w">
</span><span class="nl">"book_update_frequency"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample - Subscription (SNAPSHOT_AND_UPDATE)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Snapshot</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"book.BTCUSD-PERP.10"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"book"</span><span class="p">,</span><span class="w">
</span><span class="nl">"depth"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"asks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">[</span><span class="s2">"50126.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.400000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50130.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"3"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50136.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"5"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50137.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.800000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"7"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50142.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50148.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2.892900"</span><span class="p">,</span><span class="w"> </span><span class="s2">"9"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50154.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"5"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50160.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.133000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50166.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"3.090700"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50172.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">]</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"bids"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">[</span><span class="s2">"50113.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.400000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"3"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50113.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.051800"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50112.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.455300"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50106.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.174800"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50100.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.800000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"4"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50100.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1.455300"</span><span class="p">,</span><span class="w"> </span><span class="s2">"5"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50097.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.048000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"8"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50097.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.148000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"9"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50096.500000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.399200"</span><span class="p">,</span><span class="w"> </span><span class="s2">"2"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50095.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.399200"</span><span class="p">,</span><span class="w"> </span><span class="s2">"3"</span><span class="p">]</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"tt"</span><span class="p">:</span><span class="w"> </span><span class="mi">1647917462799</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1647917463000</span><span class="p">,</span><span class="w">
</span><span class="nl">"u"</span><span class="p">:</span><span class="w"> </span><span class="mi">7845460001</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div><div class="highlight"><pre class="highlight json tab-json"><code><span class="err">//</span><span class="w"> </span><span class="err">Update</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"book.BTCUSD-PERP.10"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"book.update"</span><span class="p">,</span><span class="w">
</span><span class="nl">"depth"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"update"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"asks"</span><span class="p">:[</span><span class="w">
</span><span class="p">[</span><span class="s2">"50126.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0"</span><span class="p">],</span><span class="w">
</span><span class="p">[</span><span class="s2">"50180.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"3.279000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"10"</span><span class="p">]],</span><span class="w">
</span><span class="nl">"bids"</span><span class="p">:[[</span><span class="s2">"50097.000000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"0.252000"</span><span class="p">,</span><span class="w"> </span><span class="s2">"1"</span><span class="p">]]</span><span class="w">
</span><span class="p">}</span><span class="err">]</span><span class="p">,</span><span class="w">
</span><span class="nl">"tt"</span><span class="p">:</span><span class="w"> </span><span class="mi">1647917463003</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1647917463003</span><span class="p">,</span><span class="w">
</span><span class="nl">"u"</span><span class="p">:</span><span class="w"> </span><span class="mi">7845460002</span><span class="p">,</span><span class="w">
</span><span class="nl">"pu"</span><span class="p">:</span><span class="w"> </span><span class="mi">7845460001</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Orderbook / L2 streaming at millisecond frequency.</p>
<h3 id='applies-to-56'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='channel-parameters'>Channel Parameters</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>Must be formal symbol. e.g. <code>BTCUSD-PERP</code></td>
</tr>
<tr>
<td>depth</td>
<td>Maximum number of depth levels. Allowed values:<br>- <code>50</code><br>- <code>10</code></td>
</tr>
</tbody></table>

<p>Two types of book subscription are supported:</p>

<ul>
<li>Delta - After initial full snapshot, delta changes from the previous update are published</li>
<li>Snapshot - the full book depth is published for every update</li>
</ul>

<p><br>
Customers should prefer to use the higher performing delta subscription where possible, with benefits of reduced bandwidth/processing compared to the snapshot subscription.</p>

<p>Optional parameters are used for specify the subscription type:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>book_subscription_type</td>
<td>The subscription type. Allowed values:<br>- <code>SNAPSHOT_AND_UPDATE</code> delta updates.<br>- <code>SNAPSHOT</code> full snapshot (default if not specified).</td>
</tr>
<tr>
<td>book_update_frequency</td>
<td>Book update interval in ms. Allowed values:<br>- <code>100</code> or <code>10</code> (default) for delta subscription.<br>- <code>500</code> (default) for snapshot subscription.</td>
</tr>
</tbody></table>
<h3 id='response-fields'>Response Fields</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Same as requested <code>instrument_name</code></td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td>Same as requested channel</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td><code>book</code> or <code>book.update</code>, see below</td>
</tr>
<tr>
<td>depth</td>
<td>string</td>
<td>Same as requested <code>depth</code></td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p>For <code>book</code> snapshot broadcasts, <code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>bids</td>
<td>array</td>
<td>Array of <code>level</code></td>
</tr>
<tr>
<td>asks</td>
<td>array</td>
<td>Array of <code>level</code></td>
</tr>
<tr>
<td>tt</td>
<td>integer</td>
<td>Epoch millis of last book update</td>
</tr>
<tr>
<td>t</td>
<td>integer</td>
<td>Epoch millis of message publish</td>
</tr>
<tr>
<td>u</td>
<td>integer</td>
<td>Update sequence, See below</td>
</tr>
</tbody></table>

<p>For <code>book.update</code> delta broadcasts, <code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>update</td>
<td>object</td>
<td><code>bids</code> and <code>asks</code></td>
</tr>
<tr>
<td>tt</td>
<td>integer</td>
<td>Epoch millis of last book update</td>
</tr>
<tr>
<td>t</td>
<td>integer</td>
<td>Epoch millis of message publish</td>
</tr>
<tr>
<td>u</td>
<td>integer</td>
<td>Update sequence, See below</td>
</tr>
<tr>
<td>pu</td>
<td>integer</td>
<td>Previous update sequence, See below</td>
</tr>
</tbody></table>

<p><code>level</code> is an array:</p>

<table><thead>
<tr>
<th>Index</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>0</td>
<td>string</td>
<td>Price of the level</td>
</tr>
<tr>
<td>1</td>
<td>string</td>
<td>Total size of the level</td>
</tr>
<tr>
<td>2</td>
<td>string</td>
<td>Number of standing orders in the level</td>
</tr>
</tbody></table>

<p>Upon successful subscription, a <code>book</code> snapshot will be sent.
Subsequently behaviour is then dependent on subscription type.</p>

<p>For snapshot subscriptions:</p>

<ul>
<li>A <code>book</code> snapshot will be published at the requested interval if the book depth has changed.</li>
<li>The book is always published every 500ms even if no change.</li>
</ul>

<p>For delta subscriptions:</p>

<ul>
<li>A <code>book.update</code> delta update will be published at the requested interval if the book depth has changed.</li>
<li>Each full snapshot/delta update has an (increasing) <code>u</code> field that is unique per instrument

<ul>
<li>An update should only be processed if the <code>pu</code> field corresponds to the <code>u</code> of the last received update.</li>
<li>If there is mismatch, the update should not be applied. Instead, re-subscribe to acquire a new full snapshot.</li>
<li>To re-subscribe, issue another <code>subscribe</code> request for the instrument. Note there is no need to issue an <code>unsubscribe</code> request before this.</li>
</ul></li>
<li>In the case of no changes, an empty delta <code>book.update</code> heartbeat will be sent after 5 seconds

<ul>
<li>The levels will be empty (<code>&quot;asks&quot;: [], &quot;bids&quot;: []</code>)</li>
<li>The <code>u</code> and <code>pu</code> fields must be processed as above. The book may have updated outside of the requested depth, so <code>u</code>may have changed.</li>
</ul></li>
<li>Additionally an empty delta may also be sent for update sequence housekeeping purposes. Again the <code>u</code> and <code>pu</code> must be processed as above.</li>
</ul>
<h2 id='ticker-instrument_name'>ticker.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"ticker.BTCUSD-PERP"</span><span class="p">]</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="mi">1587523073344</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ticker.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ticker"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"h"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51790.00"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Price</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">highest</span><span class="w"> </span><span class="err">trade</span><span class="w">
</span><span class="nl">"l"</span><span class="p">:</span><span class="w"> </span><span class="s2">"47895.50"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Price</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">lowest</span><span class="w"> </span><span class="err">trade</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">weren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">trades</span><span class="w">
</span><span class="nl">"a"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51174.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">price</span><span class="w"> </span><span class="err">of</span><span class="w"> </span><span class="err">the</span><span class="w"> </span><span class="err">latest</span><span class="w"> </span><span class="err">trade</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">weren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">trades</span><span class="w">
</span><span class="nl">"c"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.03955106"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="mi">24</span><span class="err">-hour</span><span class="w"> </span><span class="err">price</span><span class="w"> </span><span class="err">change</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">weren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">trades</span><span class="w">
</span><span class="nl">"b"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51170.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">current</span><span class="w"> </span><span class="err">best</span><span class="w"> </span><span class="err">bid</span><span class="w"> </span><span class="err">price</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">aren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">bids</span><span class="w">
</span><span class="nl">"bs"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.1000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">current</span><span class="w"> </span><span class="err">best</span><span class="w"> </span><span class="err">bid</span><span class="w"> </span><span class="err">size</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">aren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">bids</span><span class="w">
</span><span class="nl">"k"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51180.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">current</span><span class="w"> </span><span class="err">best</span><span class="w"> </span><span class="err">ask</span><span class="w"> </span><span class="err">price</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">aren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">asks</span><span class="w">
</span><span class="nl">"ks"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.2000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">current</span><span class="w"> </span><span class="err">best</span><span class="w"> </span><span class="err">ask</span><span class="w"> </span><span class="err">size</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">there</span><span class="w"> </span><span class="err">aren't</span><span class="w"> </span><span class="err">any</span><span class="w"> </span><span class="err">bids</span><span class="w">
</span><span class="nl">"i"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Instrument</span><span class="w"> </span><span class="err">name</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"879.5024"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">total</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">traded</span><span class="w"> </span><span class="err">volume</span><span class="w">
</span><span class="nl">"vv"</span><span class="p">:</span><span class="w"> </span><span class="s2">"26370000.12"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">The</span><span class="w"> </span><span class="err">total</span><span class="w"> </span><span class="mi">24</span><span class="err">h</span><span class="w"> </span><span class="err">traded</span><span class="w"> </span><span class="err">volume</span><span class="w"> </span><span class="err">value</span><span class="w"> </span><span class="err">(in</span><span class="w"> </span><span class="err">USD)</span><span class="w">
</span><span class="nl">"oi"</span><span class="p">:</span><span class="w"> </span><span class="s2">"12345.12"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Open</span><span class="w"> </span><span class="err">interest</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613580710768</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes new tickers for an instrument (e.g. BTCUSD-PERP).</p>
<h3 id='applies-to-57'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='channel-parameters-2'>Channel Parameters</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>Y</td>
<td>Must be formal symbol. e.g. BTCUSD-PERP</td>
</tr>
</tbody></table>
<h3 id='response-attributes-54'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td><code>ticker.{instrument_name}</code></td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>Always <code>ticker</code></td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>h</td>
<td>string</td>
<td>Price of the 24h highest trade</td>
</tr>
<tr>
<td>l</td>
<td>string</td>
<td>Price of the 24h lowest trade, null if there weren&#39;t any trades</td>
</tr>
<tr>
<td>a</td>
<td>string</td>
<td>The price of the latest trade, null if there weren&#39;t any trades</td>
</tr>
<tr>
<td>c</td>
<td>string</td>
<td>24-hour price change, null if there weren&#39;t any trades</td>
</tr>
<tr>
<td>b</td>
<td>string</td>
<td>The current best bid price, null if there aren&#39;t any bids</td>
</tr>
<tr>
<td>bs</td>
<td>string</td>
<td>The current best bid size, null if there aren&#39;t any bids</td>
</tr>
<tr>
<td>k</td>
<td>string</td>
<td>The current best ask price, null if there aren&#39;t any asks</td>
</tr>
<tr>
<td>ks</td>
<td>string</td>
<td>The current best ask size, null if there aren&#39;t any bids</td>
</tr>
<tr>
<td>i</td>
<td>string</td>
<td>Instrument name</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>The total 24h traded volume</td>
</tr>
<tr>
<td>vv</td>
<td>string</td>
<td>The total 24h traded volume value (in USD)</td>
</tr>
<tr>
<td>oi</td>
<td>string</td>
<td>The open interest</td>
</tr>
<tr>
<td>t</td>
<td>number</td>
<td>Trade timestamp</td>
</tr>
</tbody></table>
<h2 id='trade-instrument_name'>trade.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"trade.BTCUSD-PERP"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"trade.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"trade"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"d"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"2030407068"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Trade</span><span class="w"> </span><span class="err">ID</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613581138462</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Trade</span><span class="w"> </span><span class="err">time</span><span class="w">
</span><span class="nl">"p"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51327.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Price</span><span class="w">
</span><span class="nl">"q"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.000100"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Quantity</span><span class="w">
</span><span class="nl">"s"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELL"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Side</span><span class="w">
</span><span class="nl">"i"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Instrument</span><span class="w"> </span><span class="err">name</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">

</span></code></pre></div>
<p>Publishes new trades for an instrument (e.g. BTCUSD-PERP). <br>
It always returns a snapshot of the last 50 trades after the initial subscription.</p>
<h3 id='applies-to-58'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='response-attributes-55'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. <code>BTCUSD-PERP</code></td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td>trade.{instrument_name}</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>Always <code>trade</code></td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>d</td>
<td>string of number</td>
<td>Trade ID</td>
</tr>
<tr>
<td>t</td>
<td>number</td>
<td>Trade timestamp</td>
</tr>
<tr>
<td>p</td>
<td>string</td>
<td>Trade price</td>
</tr>
<tr>
<td>q</td>
<td>string</td>
<td>Trade quantity</td>
</tr>
<tr>
<td>s</td>
<td>string</td>
<td>Side (<code>BUY</code> or <code>SELL</code>). Side is the side of the taker order</td>
</tr>
<tr>
<td>i</td>
<td>string</td>
<td>Instrument name</td>
</tr>
</tbody></table>
<h2 id='candlestick-time_frame-instrument_name'>candlestick.{time_frame}.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"candlestick.D1.BTCUSD-PERP"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"candlestick.1D.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"candlestick"</span><span class="p">,</span><span class="w">
</span><span class="nl">"interval"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1D"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"o"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51140.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Open</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"h"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51699.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">High</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"l"</span><span class="p">:</span><span class="w"> </span><span class="s2">"49212.000000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Low</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"c"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51313.500000"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Close</span><span class="w"> </span><span class="err">price</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"867.9432"</span><span class="p">,</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Volume</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1612224000000</span><span class="w"> </span><span class="err">//</span><span class="w"> </span><span class="err">Start</span><span class="w"> </span><span class="err">time</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes candlesticks (k-line data history) over a given period for an instrument (e.g. BTCUSD-PERP).</p>

<p><code>period</code> can be:</p>

<ul>
<li><code>1m</code> : one minute. (Legacy format: <code>M1</code>)</li>
<li><code>5m</code> : five minutes. (Legacy format: <code>M5</code>)</li>
<li><code>15m</code> : 15 minutes. (Legacy format: <code>M15</code>)</li>
<li><code>30m</code>: 30 minutes. (Legacy format: <code>M30</code>)</li>
<li><code>1h</code> : one hour. (Legacy format: <code>H1</code>)</li>
<li><code>2h</code> : two hours. (Legacy format: <code>H2</code>)</li>
<li><code>4h</code> : 4 hours. (Legacy format: <code>H4</code>)</li>
<li><code>12h</code>: 12 hours. (Legacy format: <code>H12</code>)</li>
<li><code>1D</code> : one day. (Legacy format: <code>D1</code> and <code>1d</code>)</li>
<li><code>7D</code> : 1 week starting at 00:00 UTC each Monday</li>
<li><code>14D</code>: 2 week intervals starting at <em>Monday, Oct-28-2019, 00:00 UTC</em></li>
<li><code>1M</code> : 1 month starting at first day of each calendar month, 00:00 UTC</li>
</ul>

<p>Legacy format is still supported until further notice.</p>
<h3 id='applies-to-59'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='response-attributes-56'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td>candlestick.{time_frame}.{instrument_name}</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>Always <code>candlestick</code></td>
</tr>
<tr>
<td>interval</td>
<td>string</td>
<td>The period (e.g. M5)</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>o</td>
<td>number</td>
<td>Open</td>
</tr>
<tr>
<td>h</td>
<td>number</td>
<td>High</td>
</tr>
<tr>
<td>l</td>
<td>number</td>
<td>Low</td>
</tr>
<tr>
<td>c</td>
<td>number</td>
<td>Close</td>
</tr>
<tr>
<td>v</td>
<td>number</td>
<td>Volume</td>
</tr>
<tr>
<td>t</td>
<td>long</td>
<td>Start time of candlestick (Unix timestamp)</td>
</tr>
</tbody></table>
<h2 id='index-instrument_name'>index.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"index.BTCUSD-INDEX"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-INDEX"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"index.BTCUSD-INDEX"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"index"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51204.52000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613582703000</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div><h3 id='applies-to-60'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='response-attributes-57'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-INDEX</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td>index.{instrument_name}</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>Always <code>index</code></td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>t</td>
<td>number</td>
<td>Updated time (Unix timestamp)</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>Value of the Index Price</td>
</tr>
</tbody></table>
<h2 id='mark-instrument_name'>mark.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"mark.BTCUSD-PERP"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mark.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mark"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"51279.77000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613582832000</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p><strong>Note</strong>: Mark price will update approximately every 50 ms</p>
<h3 id='applies-to-61'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='response-attributes-58'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td>mark.{instrument_name}</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>Always <code>mark</code></td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>t</td>
<td>number</td>
<td>Updated time (Unix timestamp)</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>Value of the Mark Price</td>
</tr>
</tbody></table>
<h2 id='settlement-instrument_name'>settlement.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"settlement.BTCUSD-210528"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-210528"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"settlement.BTCUSD-210528"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"settlement"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"35279.77000"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613582832000</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Publishes settlement prices for either a single instrument (e.g. BTCUSD-210528&quot;) or all instruments.</p>
<h3 id='applies-to-62'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='channel-parameters-3'>Channel Parameters</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>N</td>
<td>Optional, if not set this is a wildcard subscription for all instruments</td>
</tr>
</tbody></table>
<h3 id='response-attributes-59'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-210528</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td><code>settlement.{instrument_name}</code></td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>Always <code>settlement</code></td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>t</td>
<td>number</td>
<td>Updated time (Unix timestamp)</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>Value of the Settlement Price</td>
</tr>
</tbody></table>
<h2 id='funding-instrument_name'>funding.{instrument_name}</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"funding.BTCUSD-PERP"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"funding.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"funding"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00144"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613582880000</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div><h3 id='applies-to-63'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='response-attributes-60'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td>funding.{instrument_name}</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>funding - Refers to hourly rate that will settle at the end of the current hour</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>t</td>
<td>number</td>
<td>Updated time (Unix timestamp)</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>Value of the Funding Rate</td>
</tr>
</tbody></table>
<h2 id='estimatedfunding-instrument_name'>estimatedfunding.{instrument_name}</h2>
<ul>
<li>It is effective from jul 31 2023. pls refer to <a href="#breaking-change-schedule">breaking change schedule</a> for details</li>
</ul>

<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"estimatedfunding.BTCUSD-PERP"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subscribe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"instrument_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"subscription"</span><span class="p">:</span><span class="w"> </span><span class="s2">"estimated.BTCUSD-PERP"</span><span class="p">,</span><span class="w">
</span><span class="nl">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"estimatedfunding"</span><span class="p">,</span><span class="w">
</span><span class="nl">"data"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="w">
</span><span class="nl">"v"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.00144"</span><span class="p">,</span><span class="w">
</span><span class="nl">"t"</span><span class="p">:</span><span class="w"> </span><span class="mi">1613582880000</span><span class="w">
</span><span class="p">}]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div><h3 id='applies-to-64'>Applies To</h3>
<p><tag class="wsmds">Websocket (Market Data Subscriptions)</tag></p>
<h3 id='response-attributes-61'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>instrument_name</td>
<td>string</td>
<td>e.g. BTCUSD-PERP</td>
</tr>
<tr>
<td>subscription</td>
<td>string</td>
<td>estimatedfunding.{instrument_name}</td>
</tr>
<tr>
<td>channel</td>
<td>string</td>
<td>estimatedfunding - Refers to estimated hourly rate that will be effective at the end of each hour in the next interval. <br><br> Funding intervals are 00:00 - 04:00, 04:00 - 08:00, 08:00 - 12:00, 12:00 - 16:00, 16:00 - 20:00, 20:00 - 00:00 UTC</td>
</tr>
<tr>
<td>data</td>
<td>array</td>
<td>See below</td>
</tr>
</tbody></table>

<p><code>subscription</code> makes it easy to map to the initial subscription</p>

<p><code>channel</code> and <code>instrument_name</code> simply allow easier access to parameters without needing to parse the <code>subscription</code></p>

<p><code>data</code> consists of:</p>

<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>t</td>
<td>number</td>
<td>Updated time (Unix timestamp)</td>
</tr>
<tr>
<td>v</td>
<td>string</td>
<td>Value of the Estimated Funding Rate</td>
</tr>
</tbody></table>
<h2 id='public-auth'>public/auth</h2>
<blockquote>
<p>Request Sample #0: Auth with the master account</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"master_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #1: Auth with the master account (same effect as sample #0)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"master_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #2: Auth with former spot account (same effect as sample #0)</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"master_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #3: Auth with former master margin account</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"master_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #4: Auth with former master derivative account</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"master_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #5: Auth with default sub-account</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subaccount_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #6: Auth with former spot sub-account</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subaccount_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #7: Auth with former margin sub-account</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subaccount_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Request Sample #8: Auth with former derivative sub-account</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"subaccount_api_key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sig"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d0267b151db609885bad2e4f8ad07610f7913e166c35adaf5697d59a64e3755a"</span><span class="p">,</span><span class="w">
</span><span class="nl">"nonce"</span><span class="p">:</span><span class="w"> </span><span class="err">:</span><span class="mi">1587846358253</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="s2">"public/auth"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="mi">0</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>To access user-specific websocket methods, <code>public/auth</code> has to be invoked with a valid API key and Digital Signature (refer to the <strong>Digital Signature</strong> section).</p>

<p>REST API calls do NOT need to do this.</p>

<div class='note'>
<div class='note-body'>
<b>Important Note</b>
<br><br>
We recommend adding a 1-second sleep after establishing the websocket connection, and before requests are sent.
<br><br>
This will avoid occurrences of rate-limit (`TOO_MANY_REQUESTS`) errors, as the websocket rate limits are pro-rated based on the calendar-second that the websocket connection was opened.
</div>
</div>
<h3 id='request-params-48'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>api_key</td>
<td>string</td>
<td>API key</td>
</tr>
<tr>
<td>sig</td>
<td>string</td>
<td>Digital Signature (see <strong>Digital Signature</strong> section)</td>
</tr>
</tbody></table>
<h3 id='applies-to-65'>Applies To:</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h2 id='private-set-cancel-on-disconnect'>private/set-cancel-on-disconnect</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/set-cancel-on-disconnect"</span><span class="p">,</span><span class="w">
</span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"scope"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CONNECTION"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/set-cancel-on-disconnect"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"scope"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CONNECTION"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Cancel on Disconnect is an optional feature that will cancel all open orders created by the connection upon loss of connectivity between client or server.</p>

<p>This feature is only available via the Websocket.</p>
<h3 id='request-params-49'>Request Params</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>scope</td>
<td>string</td>
<td>Y</td>
<td>Specifies the scope of cancellation to be applied to the specific connection (all orders created via Websocket). The ONLY scope supported is <code>CONNECTION</code></td>
</tr>
</tbody></table>
<h3 id='helpful-information-2'>Helpful Information</h3>
<ul>
<li>Once enabled, the scope of cancellation cannot be changed or disabled for the connection.</li>
<li>Unsubscribing from any user channels will be considered as a loss of connectivity and will trigger cancelling orders.</li>
</ul>
<h3 id='applies-to-66'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-62'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>scope</td>
<td>string</td>
<td>Specifies the scope of cancellation to be applied to the specific connection (all orders created via Websocket). The ONLY scope supported is <code>CONNECTION</code></td>
</tr>
</tbody></table>
<h2 id='private-get-cancel-on-disconnect'>private/get-cancel-on-disconnect</h2>
<blockquote>
<p>Request Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-cancel-on-disconnect"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<blockquote>
<p>Response Sample</p>
</blockquote>
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private/get-cancel-on-disconnect"</span><span class="p">,</span><span class="w">
</span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"scope"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CONNECTION"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>
<p>Returns the scope of cancellation.</p>
<h3 id='request-params-50'>Request Params</h3>
<p>None</p>
<h3 id='applies-to-67'>Applies To</h3>
<p><tag class="ws">Websocket (User API)</tag></p>
<h3 id='response-attributes-63'>Response Attributes</h3>
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>scope</td>
<td>string</td>
<td>Specifies the scope of cancellation to be applied to the specific connection (all orders created via Websocket). The ONLY scope supported is <code>CONNECTION</code></td>
</tr>
</tbody></table>
<h1 id='common-issues'>Common Issues</h1><h2 id='too_many_requests-after-websocket-connects'>TOO_MANY_REQUESTS After Websocket Connects</h2>
<p>Websocket rate limits are pro-rated based on the calendar-second that the websocket connection was opened.</p>

<p>This means, depending on the fraction of the calendar-second that the connection was established, the rate limit could be pro-rated to a small number.</p>

<p>By adding a 1-second sleep after establishing the websocket connection, and before requests are sent, this will ensure the rate limit is properly reset and sync&#39;d to your session.</p>

<p>This will avoid occurrences of rate-limit (<code>TOO_MANY_REQUESTS</code>) errors.</p>
<h2 id='invalid_nonce-on-all-requests'>INVALID_NONCE On All Requests</h2>
<p>The nonce should be the UTC Unix timestamp in milliseconds.</p>

<p>If this has been carefully checked, then the issue occurs when the system clock of the client machine is greater than 60 seconds in the future / past.</p>

<p>Usually, re-syncing with the NTP time server on the client machine will correct the issue.</p>

<p>If the issue persists, you can try deliberately subtracting N seconds from the nonce to force it to be N seconds in the past, which is still within the 60-second past tolerance.</p>

</div>
<div class="dark-box">
<div class="lang-selector">
<a href="#" data-language-name="javascript">javascript</a>
<a href="#" data-language-name="python">python</a>
<a href="#" data-language-name="csharp">c#</a>
<a href="#" data-language-name="java">java</a>
</div>
</div>
</div>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"96c9b1b94defd1b2","serverTiming":{"name":{"cfExtPri":true,"cfEdge":true,"cfOrigin":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"version":"2025.7.0","token":"54d972c5930d455ca500168aafa09847"}' crossorigin="anonymous"></script>
</body>
</html>